== デバッグ ==
プログラムの間違いを修正することをデバッグ(虫取り)と言います。

このときには、エディタを使った編集作業と、Rhinoとの会話という2つを切り替えながら行うことになります。
どちらの作業が必要なのか、エラーメッセージや実行結果を見て判断しましょう。

プログラムで求まった答えが正しいかどうかは、'''自分で判断'''しなければなりません。
----
=== エラーメッセージ ===
エラーメッセージは英文で表示されます。
どこに、どんな誤りがあるかを示してくれているのです。

翻訳できなくても、誤りの場所を見つける手助けに使いましょう。


'''誤りの場所'''

1)メッセージの先頭が
 . "<stdin>"
のときは >JS に対する入力に誤りがあります。

2)メッセージの先頭に
 . "sample.js"
のように<<Color(red:ファイル名)>>が表示されるときは、ファイル(プログラム)内に誤りがあります。
この場合
 {{{
 "sample.js", line 23: ...
 }}}
のように、何行目で誤りが発見されたかも合わせて表示されます。

多くの場合にはエラーのある行を正しく示してくれますが、前の行が ; で終わっていなかったり、 { と } の対応がおかしかったり、コメントの書き方が間違っているときには、間違いのある行より後で表示されます。

指定された行に間違いが見つからないときは、前の行などを見ましょう。


'''誤りの内容'''

1)文法的なエラー

代入文、print文、関数などの書き方に間違いがある場合です。
 . missing ) after argment list
のように、間違いの内容を指摘する場合もあれば
 . syntax errors.
とだけ表示されることもあります。

2)知らない名前が現れた

値が定まっていない変数が使われたときに起こります。
変数の名前のタイプミスでも起こります。
 . uncaught !JavaScript runtime exception: !ReferenceError: "xx" is not defined.
メッセージの最後が<<Color(red:is not defined)>>で、その直前に使われた'''名前'''が表示されます。


3)その他

コメントの書き方で、/* はあるけれども */ が書かれていないときのエラー。
 . "ex.js", line xx: unterminated comment
示される行番号よりずっと前の方に間違いがあるはずです。

使えない文字が使われているエラー。
 . "ex.js", line xx: illegal character
記号などを全角文字で入力したときに起こります。