- 追加された行はこの色です。
- 削除された行はこの色です。
- エラーメッセージ へ行く。
[[目次>Tonyu System]] [[命令リファレンス]]
----
プログラムに書き間違えがあったり、実行中に異常な動作をした場合は、次のようなエラーウィンドウが表示されます。
&ref(errwnd.png);
エラーメッセージをクリックすると、エラーが起きた場所にカーソルが移動するので、原因を調べてプログラムを訂正してください。
**コンパイルエラー [#u486fdff]
コンパイルエラーは、ページを読み込んだ時や、実行させようとしたときに発生するエラーです。
:「文法エラー」|
文法が正しくありません。例えば文の末尾にセミコロン(;)がないなどです。
:「関数xxxは未定義です」|
呼び出そうとしている関数は定義されていません。関数の綴りが間違っていないか調べてみましょう。
**例1 [#e83e4e32]
//--ファイルClassA.tonyu--
extends Object;
function test(p) {
print(p);
}
testo(p); // 関数testoは未定義です
//--ClassA.tonyu終わり--
:「循環参照があります」|
クラスの親子関係が不正です。例えば、
ClassAがClassBの親クラスで、かつClassBがClassAの親クラス
であってはいけません。
**実行時エラー [#ha057724]
実行時エラーは、プログラム実行中に発生するエラーです。
:「xxxはオブジェクトではないため、関数yyyを呼び出せません」| a.method1(); のように、他のオブジェクトのメソッドを呼び出そうと
していますが、aの値がオブジェクトでない(数値やnull)ため
メソッドを呼べません。
aの値がおかしくなっていないか調べましょう。
aの綴りが間違っている場合がよくあります。綴りが間違った変数はnullとみなされます。
**例2 [#j9793f7f]
a=0;
a.run(); // 0はオブジェクトでないため、関数runを呼び出せません
:「リストのインデックスが範囲を超えています(xx)」|
Array型オブジェクトにおいてget,setメソッドなどをもちいたアクセスを行った場合に、要素を指定するための番号(添字)が範囲外です
**例3 [#edf82897]
a=new Array();
a.add("apple");a.add("orange");
b=a.get(3); // 配列aの要素は2つ(添字は0,1)なのに、添字の番号が3
**その他のエラー [#n5717300]
:「モジュールxxxxxのアドレスyyyyでzzzzへの読み込み(書き込み)違反がおきました」|
:「参照カウントが負になりました」|
メソッドの呼び出しが無限に行われると発生する場合があります。
**例4 [#g7f14056]
function test(x) {
print (x);
test(x+1); // 永久にtestが呼ばれる
}
test(3);
それ以外の原因としては、Tonyuシステム自身のバグが考えられます。
その際は申し訳ありませんが、Tonyuを再起動してください。
[[目次へ>Tonyu System]]