デバッグ
プログラムの間違いを修正することをデバッグ(虫取り)と言います。
このときには、エディタを使った編集作業と、Rhinoとの会話という2つを切り替えながら行うことになります。 どちらの作業が必要なのか、エラーメッセージや実行結果を見て判断しましょう。
プログラムで求まった答えが正しいかどうかは、自分で判断しなければなりません。
エラーメッセージ
エラーメッセージは英文で表示されます。 どこに、どんな誤りがあるかを示してくれているのです。
翻訳できなくても、誤りの場所を見つける手助けに使いましょう。
誤りの場所
1)メッセージの先頭が
"<stdin>"
のときは >JS に対する入力に誤りがあります。
2)メッセージの先頭に
- "sample.js"
のようにファイル名が表示されるときは、ファイル(プログラム)内に誤りがあります。 この場合
"sample.js", line 23: ...
のように、何行目で誤りが発見されたかも合わせて表示されます。
多くの場合にはエラーのある行を正しく示してくれますが、前の行が ; で終わっていなかったり、 { と } の対応がおかしかったり、コメントの書き方が間違っているときには、間違いのある行より後で表示されます。
指定された行に間違いが見つからないときは、前の行などを見ましょう。
誤りの内容
1)文法的なエラー
代入文、print文、関数などの書き方に間違いがある場合です。
- missing ) after argment list
のように、間違いの内容を指摘する場合もあれば
- syntax errors.
とだけ表示されることもあります。
2)知らない名前が現れた
値が定まっていない変数が使われたときに起こります。 変数の名前のタイプミスでも起こります。
uncaught JavaScript runtime exception: ReferenceError: "xx" is not defined.
メッセージの最後がis not definedで、その直前に使われた名前が表示されます。
3)その他
コメントの書き方で、/* はあるけれども */ が書かれていないときのエラー。
- "ex.js", line xx: unterminated comment
示される行番号よりずっと前の方に間違いがあるはずです。
使えない文字が使われているエラー。
- "ex.js", line xx: illegal character
記号などを全角文字で入力したときに起こります。