調べる

エラーの読み方

エラーは、パソコンからの「ここがわからなかったよ」という知らせです。こわれたわけでも、あなたが悪いわけでもありません。

エラーの形

Decree のエラーは、いつも同じ形で出ます。たとえば、名前を書き間違えたときはこうです。

Decree▶ 試す
名前 = 「はなこ」
「こんにちは {なまえ}」と表示
エラーの表示
2 行目でつまずきました
  2 | 「こんにちは {なまえ}」と表示
                    ^^^^^^
「なまえ」という名前はまだ作られていません。
もしかして:「名前」(1 行目で作ったもの)
ヒント:使う前に「なまえ = …」のように作ってください。

上から順に、こう読みます。

行 書いてあること
2 行目でつまずきました どこで:何行目でわからなくなったか
2 | 「こんにちは … その行を、そのまま見せてくれます
^^^^^^ 行の中のどこか:^ の印の真上があやしいところ
「なまえ」という名前は… なぜ:何が起きたか
もしかして:… 似たものがあれば、「これのつもりだった?」と教えてくれます
ヒント:… どう直すか

いちばん大事なのは ^ の印 と ヒント です。まずはそこを見ましょう。

注意の形

エラーのほかに、注意もあります。注意は「このままでも動くけれど、Decree ではこう書くよ」という知らせです。 プログラムは止まらずに、そのまま動きます。

Decree▶ 試す
点数 = 10
点数++
「点数は {点数}」と表示
注意の表示(このままでも動きます)
2 行目に注意があります
  2 | 点数++
          ^^
「点数++」は、ほかの言語の書き方です。このままでも動きます。
ヒント:Decree では「点数 を 1 増やす」と書きます。
結果
点数は 11
  • 1 行目が「N 行目に注意があります」になります(エラーは「N 行目でつまずきました」)。
  • エディタとお試し欄では、注意は黄色の波線、エラーは赤の波線で印がつきます。▶ を押すと、結果の欄のいちばん上にも小さく出ます。
  • 注意の番号は W で始まります(エラーは E)。

エラー辞典

よく出るエラーと直し方です。番号(E0101 など)は、エラーの文の下やエディタの吹き出しに出ます。 全部の番号は、このページの最後の番号の一覧にあります。

名前がまだ作られていない

番号:E0101 ・ 見つかるとき:▶ を押す前

= で作る前の名前を使ったときに出ます。いちばんよく出るエラーです(例はエラーの形)。

  • 名前の書き間違い(名前 と なまえ、Name と name は別の名前です)
  • 作る行より上で使っている

直し方:「もしかして」に出ている名前に直すか、使う前に 名前 = … の行を書きます。

(もし の中でだけ作った名前を、外で使ったときなどは、動かしている途中に E0309 が出ることもあります。直し方は同じです。)

名前を作るのに「は」と書いた

番号:E0216 ・ 見つかるとき:▶ を押す前

Decree▶ 試す
名前は「たろう」
エラーの表示
1 行目でつまずきました
  1 | 名前は「たろう」
      ^^^^^^^^^^^^^^^^
名前を作るときは「=」を使います。
ヒント:「名前 = 「たろう」」のように書いてください。

直し方:名前を作るときは 名前 = 「たろう」 のように = を使います。 (は は「比べる」ときの言葉です。もし 名前 は 「たろう」 なら のように使います。)

文字をかぎかっこで囲んでいない

番号:E0218 ・ 見つかるとき:▶ を押す前

Decree▶ 試す
こんにちは と表示
エラーの表示
1 行目でつまずきました
  1 | こんにちは と表示
      ^^^^^^^^^^
「こんにちは」を文字として使うときは、かぎかっこ「」で囲みます。
ヒント:例:「こんにちは」と表示

直し方:文字は 「こんにちは」 のように 「 」(英語なら " ")で囲みます。

「おわり」がない

番号:E0201 ・ 見つかるとき:▶ を押す前

もし や くりかえす や やること を、おわり で閉じ忘れたときに出ます。

Decree▶ 試す
3回くりかえす
  「やあ」と表示
エラーの表示
1 行目でつまずきました
  1 | 3回くりかえす
      ^^^^^^^^^^^^^
1 行目の「3回くりかえす」に対応する「おわり」がありません。
ヒント:字下げを見ると、2 行目のあとに「おわり」を書けばよさそうです。

直し方:どの行の もし / くりかえす が閉じていないかを教えてくれるので、その中身の最後に おわり を足します。 字下げ(行の始めの空白)から、どこに書けばよさそうかも教えてくれます。

「おわり」が多すぎる

番号:E0202 ・ 見つかるとき:▶ を押す前

対になる もし や くりかえす がないのに おわり があるときに出ます。

Decree▶ 試す
「やあ」と表示
おわり
エラーの表示
2 行目でつまずきました
  2 | おわり
      ^^^^^^
「おわり」が多すぎます。対応する「もし」や「くりかえす」がありません。
ヒント:この「おわり」を消すか、前に「もし」や「くりかえす」の行があるか確かめてください。

直し方:その おわり を消すか、上に足りない もし / くりかえす を書きます。

かぎかっこが閉じていない

番号:E0001 ・ 見つかるとき:▶ を押す前

「 で始めた文字を、」 で閉じ忘れたときに出ます。" で始めたときは " で閉じます。

Decree▶ 試す
「こんにちは と表示
エラーの表示
1 行目でつまずきました
  1 | 「こんにちは と表示
      ^^^^^^^^^^^^^^^^^^^
文字の「「」が閉じていません。
ヒント:文字の終わりに「」」を書いてください。

直し方:文字の終わりに 」 を足します。( ) や [ ] の閉じ忘れも同じように教えてくれます(E0002)。

(「こんにちは" のように、始めと終わりのかっこが組になっていないときは、エラーにせず注意を出して動かします。)

命令に必要なものが足りない

番号:E0104 ・ 見つかるとき:▶ を押す前

たとえば 保存 で、何を保存するかが書かれていないときに出ます。

Decree▶ 試す
「メモ.txt」に保存
エラーの表示
1 行目でつまずきました
  1 | 「メモ.txt」に保存
                    ^^^^
「保存」に必要な「保存するもの(〜を)」が書かれていません。
ヒント:書き方の例:「メモです」を「メモ.txt」に保存

直し方:ヒントの書き方の例を見て、足りないものを足します。命令の一覧でも、その命令に何が必要かを見られます(保存 なら「何を」と「どこに」)。

数の中に「,」を書いた

番号:E0219 ・ 見つかるとき:▶ を押す前

Decree▶ 試す
お金 = 1,000
エラーの表示
1 行目でつまずきました
  1 | お金 = 1,000
             ^^^^^
数の中に「,」は書けません。
ヒント:「1000」と書いてください(区切りを見やすくしたいときは「1_000」)。

直し方:1000 と書きます。桁を見やすくしたいときは 1_000 と書けます。

0 でわった

番号:E0301 ・ 見つかるとき:動かしている途中

Decree▶ 試す
人数 = 0
1000 / 人数 を表示
エラーの表示
2 行目でつまずきました
  2 | 1000 / 人数 を表示
      ^^^^^^^^^^^
0 で割ろうとしました。
ヒント:割る数が 0 にならないようにしてください。

直し方:わる前に もし 人数 > 0 なら で確かめます。

リストの番号がはみ出した

番号:E0302 ・ 見つかるとき:動かしている途中

Decree▶ 試す
色 = [「赤」, 「青」, 「黄」]
色 の 5番目 を表示
エラーの表示
2 行目でつまずきました
  2 | 色 の 5番目 を表示
      ^^^^^^^^^^^
5 番目はありません。リストは 1 番目から数えます。このリストは 3 個です。
ヒント:番号が 1 から 3 の間になっているか確かめてください。

直し方:リストの数(色 の 数)より大きい番号を使っていないか確かめます。先頭は 0 ではなく 1 番目 です。

数でないものを計算した

番号:E0308 ・ 見つかるとき:動かしている途中

「じゅうに」 - 2 のように、数でない文字で引き算や割り算をしようとしたときなどに出ます。 と聞く で受け取った答えに、数でないもの(「じゅうに」など)が書かれたときにもよく出ます。 (「=」 * 5 のように「文字 × 数」は、文字をくりかえす意味になるのでエラーになりません。)

Decree▶ 試す
年 = 「じゅうに」
年 - 2 を表示
エラーの表示
2 行目でつまずきました
  2 | 年 - 2 を表示
      ^^^^^^
「じゅうに」 は数ではないので、計算できません。
ヒント:文字を数にするには「を数に」を使います。数を聞くときは「数で聞く」を使います。

直し方:聞いた答えを計算に使うときは と数で聞く にします(数でない答えが来たら、聞き直してくれます)。 文字を数にしたいときは を数に が使えます。

ファイルがない

番号:E0304 ・ 見つかるとき:動かしている途中

読む で、ないファイルを読もうとしたときに出ます。

Decree▶ 試す
メモ = 「ない.txt」を読む
メモ を表示
エラーの表示
1 行目でつまずきました
  1 | メモ = 「ない.txt」を読む
             ^^^^^^^^^^^^^^^^^^
「ない.txt」というファイルが見つかりません。
ヒント:ファイルの名前と場所を確かめてください。場所を書かないときは、プログラムのファイルと同じフォルダをさがします。

直し方:ファイル名(.txt などの最後の部分も)が合っているか、プログラムと同じフォルダにあるかを確かめます。 先に もし 「メモ.txt」が ある なら で確かめるのも良い方法です。

インターネットにつながらない

番号:E0306 ・ 見つかるとき:動かしている途中

取ってくる で、ページを取ってこられなかったときに出ます。

エラーの表示
1 行目でつまずきました
  1 | ページ = 「https://no-such-host.invalid」を取ってくる
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
「https://no-such-host.invalid」につながりませんでした。
ヒント:インターネットにつながっているか、アドレス(URL)が正しいか確かめてください。

直し方:インターネットにつながっているか、アドレス(https://…)が正しいかを確かめます。ブラウザでそのアドレスを開けるか試すのもおすすめです。 つながったけれどページが無かったとき(404 など)は E0307 が出ます。

注意の辞典

止めずに動かして、Decree の書き方を案内するものです。ほかのプログラミング言語を知っている人がよく書くものが中心です。

ほかの言語の表示の命令

番号:W0001 ・ 見つかるとき:▶ を押す前(止めずに動かす)

console.log System.out.println echo puts printf などを、表示の命令として読みます。 (print("…") は Decree の書き方でもあるので、注意は出ません。)

Decree▶ 試す
print("こんにちは")
console.log("やあ")
注意の表示(このままでも動きます)
2 行目に注意があります
  2 | console.log("やあ")
      ^^^^^^^^^^^
「console.log」は Decree の言葉ではありませんが、表示の命令として読みました。
ヒント:Decree では「表示 …」か「「…」と表示」と書きます(英語なら say …)。
結果
こんにちは
やあ

ほかの言語の書き方

番号:W0002 ・ 見つかるとき:▶ を押す前(止めずに動かす)

i++、let / var / const、:=、&& ||、{ … }、for i in range(3)、len / str / int、.append / .push などです。 例は注意の形にあります。ヒントに Decree での書き方が出ます。

聞いた答えに「+」で数を足した

番号:W0003 ・ 見つかるとき:▶ を押す前(止めずに動かす)

と聞く で受け取った答えは文字なので、+ を使うと足し算ではなく、文字がつながります。

Decree▶ 試す
年 = 「何才ですか?」と聞く
「来年は {年 + 1} 才」と表示
注意の表示(このままでも動きます)
2 行目に注意があります
  2 | 「来年は {年 + 1} 才」と表示
                ^^^^^^
「年」は「聞く」で受け取った文字なので、「+」では足し算にならず、文字がつながります(例:「21」 + 1 → 211)。
ヒント:数として計算したいときは「年 = 「…」と数で聞く」と書きます。
結果
何才ですか?
› 12
来年は 121 才

直し方:年 = 「何才ですか?」と数で聞く にすると、年 + 1 が足し算になります。 (- * / のときは、数として計算します。)

かぎかっこの始めと終わりが組になっていない

番号:W0004 ・ 見つかるとき:▶ を押す前(止めずに動かす)

Decree▶ 試す
「こんにちは" と表示
注意の表示(このままでも動きます)
1 行目に注意があります
  1 | 「こんにちは" と表示
      ^^^^^^^^^^^^^
「「」で始めた文字を「"」で閉じています。このままでも動きます。
ヒント:始めと終わりは組にしてください(「 なら 」、" なら ")。
結果
こんにちは

直し方:「 で始めたら 」、" で始めたら " で閉じます。

それでもわからないときは

  • 言葉と言葉の間にスペースを入れてみると、区切りがはっきりして直ることがあります(ページの本文を → ページ の 本文 を)。
  • 動いていたところまで戻して、1 行ずつ足しながら ▶ を押すと、どこでつまずいたかが見つけやすくなります。

番号の一覧

Decree が出すエラーと注意の全部です。〇〇 のところには、あなたのプログラムの名前や文字が入ります。 (この表は言語本体の文から自動で作っています。)

エラー(E)

番号見つかるとき出る文ヒント
E0001▶ を押す前文字の「〇〇」が閉じていません。文字の終わりに「〇〇」を書いてください。
E0002▶ を押す前「〇〇」が閉じていません。対になる「〇〇」を書いてください。
E0003▶ を押す前「〇〇」に対応する「〇〇」がありません。よけいな「〇〇」を消すか、前に「〇〇」を書いてください。
E0004▶ を押す前「〇〇」という文字はここでは使えません。文字として使いたいときは「」で囲んでください。
E0005▶ を押す前文字の中の「{」が閉じていません。「}」で閉じてください。「{」そのものを書きたいときは「{{」と書きます。
E0101▶ を押す前「〇〇」という名前はまだ作られていません。使う前に「〇〇 = …」のように作ってください。
E0102▶ を押す前「〇〇」という命令(やること)はありません。名前を確かめてください。自分で作るときは「やること 〇〇()」と書きます。
E0103▶ を押す前「〇〇」には 〇〇 個わたす決まりですが、〇〇 個わたしています。「やること 〇〇(…)」の行で決めた数と合わせてください。
E0104▶ を押す前「〇〇」に必要な「〇〇」が書かれていません。書き方の例:〇〇
E0105▶ を押す前「〇〇」という やること が 2 つあります(〇〇 行目にもあります)。どちらかの名前を変えてください。
E0106▶ を押す前やること は、ほかの やること や もし・くりかえす の中では作れません。やること は一番外側に書いてください。
E0107▶ を押す前「〇〇」には入れられません。「名前 = 値」の左側には名前を書いてください。
E0108▶ を押す前「〇〇」にわたすものが多すぎます。書き方の例:〇〇
E0109▶ を押す前「〇〇」では「〇〇」のつけ方がわかりませんでした。書き方の例:〇〇
E0110▶ を押す前「〇〇」は命令の名前なので、ここでは名前として使えません。別の名前にしてください(例:「〇〇2」「私の〇〇」)。
E0201▶ を押す前〇〇 行目の「〇〇」に対応する「おわり」がありません。〇〇 の中身の最後に「おわり」を書いてください。
E0202▶ を押す前「〇〇」が多すぎます。対応する「もし」や「くりかえす」がありません。この「〇〇」を消すか、前に「もし」や「くりかえす」の行があるか確かめてください。
E0203▶ を押す前「〇〇」の前に「もし」がありません。「〇〇」は「もし … おわり」の間に書きます。
E0204▶ を押す前「〇〇」は くりかえし の中でだけ使えます。「くりかえす … おわり」の間に書いてください。
E0205▶ を押す前「〇〇」は やること の中でだけ使えます。「やること … おわり」の間に書いてください。
E0206▶ を押す前この行の書き方がわかりませんでした。〇〇
E0207▶ を押す前「〇〇」のあとに何か足りません。「〇〇」の続きを書いてください。
E0208▶ を押す前最後に、何をするか(表示・保存など)が書かれていません。例:「x を表示」「「a」を「メモ.txt」に保存」
E0209▶ を押す前ここには数・文字・名前などが来るはずです。〇〇
E0210▶ を押す前「〇〇」がここにあるのはおかしいようです。〇〇
E0211▶ を押す前「そうでなければ」のあとに、もう一度「〇〇」があります。「そうでなければ」は最後に 1 回だけ書きます。
E0212▶ を押す前くりかえしの書き方がわかりませんでした。例:「10回くりかえす」「i を 1 から 10 まで くりかえす」「果物 を リスト から ひとつずつ」
E0213▶ を押す前やること の書き方がわかりませんでした。例:「やること あいさつ(名前)」
E0214▶ を押す前「〇〇」のあとに条件が書かれていません。例:「もし 点数 >= 80 なら」
E0215▶ を押す前「〇〇」と「〇〇」の間に何か足りないようです。記号(+ や ,)や、「を」「に」などが抜けていないか見てください。区切りがおかしいときは、間に空白を入れてください。
E0216▶ を押す前名前を作るときは「=」を使います。「〇〇 = 〇〇」のように書いてください。
E0217▶ を押す前「〇〇」が 2 回続いています。どちらか 1 つを消してください。
E0218▶ を押す前「〇〇」を文字として使うときは、かぎかっこ「」で囲みます。例:〇〇
E0219▶ を押す前数の中に「,」は書けません。「〇〇」と書いてください(区切りを見やすくしたいときは「〇〇」)。
E0301動かしている途中0 で割ろうとしました。割る数が 0 にならないようにしてください。
E0302動かしている途中〇〇 番目はありません。リストは 1 番目から数えます。このリストは 〇〇 個です。番号が 1 から 〇〇 の間になっているか確かめてください。
E0303動かしている途中番号には数を使ってください(〇〇 は数ではありません)。例:「リスト の 2番目」
E0304動かしている途中「〇〇」というファイルが見つかりません。ファイルの名前と場所を確かめてください。場所を書かないときは、プログラムのファイルと同じフォルダをさがします。
E0305動かしている途中「〇〇」を〇〇ことができませんでした。(〇〇)ファイルがほかのアプリで開かれていないか、名前が正しいか確かめてください。
E0306動かしている途中「〇〇」につながりませんでした。インターネットにつながっているか、アドレス(URL)が正しいか確かめてください。
E0307動かしている途中「〇〇」を取ってこられませんでした(番号 〇〇)。アドレスが正しいか確かめてください。404 は「ページが見つからない」という意味です。
E0308動かしている途中〇〇 は数ではないので、計算できません。文字を数にするには「を数に」を使います。数を聞くときは「数で聞く」を使います。
E0309動かしている途中「〇〇」はまだ作られていません。使う前に「〇〇 = …」が実行されるように、行の順番を確かめてください。
E0310動かしている途中〇〇 には「〇〇」という中身がありません。〇〇
E0311動かしている途中〇〇 は番号で取り出せません。番号で取り出せるのは リスト と 文字 です。
E0312動かしている途中〇〇 を数にできませんでした。数字だけの文字(例:「42」)にしてください。
E0313動かしている途中くりかえす回数 〇〇 が数ではありません。例:「10回くりかえす」
E0314動かしている途中〇〇 からは ひとつずつ 取り出せません。ひとつずつ 取り出せるのは リスト・文字・表 です。
E0315動かしている途中やること が自分を何度も呼びすぎて、止まらなくなりました。やること の中に、自分を呼ぶのをやめる「もし」があるか確かめてください。
E0316動かしている途中「〇〇」の中身を 〇〇 として読めませんでした。(〇〇)ファイルの中身の書き方を確かめてください。
E0317動かしている途中「〇〇」には 〇〇 をわたしてください(〇〇 がわたされました)。書き方の例:〇〇
E0318動かしている途中ページには「〇〇」という中身はありません。使えるのは:本文・題名・見出し・リンク・画像・表・データ・HTML
E0319動かしている途中リストが空っぽなので「〇〇」はありません。先にリストに何か入れてください。
E0320動かしている途中乱数の範囲がおかしいです(〇〇 から 〇〇)。小さい数を先に書いてください。例:「1 から 6 の乱数」
E0321動かしている途中〇〇 と 〇〇 は大きさを比べられません。数どうし、文字どうしで比べてください。
E0322動かしている途中「〇〇」は 〇〇 には使えません。〇〇
E0323動かしている途中ここでは「〇〇」は使えません。(〇〇)パソコンに入れた Decree で実行すると使えます。
E0324動かしている途中数や中身が大きすぎて扱えません。もっと小さい数にしてください。

注意(W)

番号見つかるとき出る文ヒント
W0001▶ を押す前(止めずに動かす)「〇〇」は Decree の言葉ではありませんが、表示の命令として読みました。Decree では「表示 …」か「「…」と表示」と書きます(英語なら say …)。
W0002▶ を押す前(止めずに動かす)「〇〇」は、ほかの言語の書き方です。このままでも動きます。Decree では「〇〇」と書きます。
W0003▶ を押す前(止めずに動かす)「〇〇」は「聞く」で受け取った文字なので、「+」では足し算にならず、文字がつながります(例:「21」 + 1 → 211)。数として計算したいときは「〇〇 = 「…」と数で聞く」と書きます。
W0004▶ を押す前(止めずに動かす)「〇〇」で始めた文字を「〇〇」で閉じています。このままでも動きます。始めと終わりは組にしてください(「 なら 」、" なら ")。