目次 命令リファレンス

プログラムに書き間違えがあったり、実行中に異常な動作をした場合は、次のようなエラーウィンドウが表示されます。

errwnd.png

「エラーのあった場所に移動」を押すと、エラーが起きた場所にカーソルが移動するので、原因を調べてプログラムを訂正してください。

コンパイルエラー

コンパイルエラーは、ページを読み込んだ時や、実行させようとしたときに発生するエラーです。

文法が正しくありません。例えば文の末尾にセミコロン(;)がないなどです。

呼び出そうとしている関数は定義されていません。関数の綴りが間違っていないか調べてみましょう。

例1

実行方法...
 
//--ファイルClassA.tonyu--
extends Object;
function test(p) {
 print(p);
}
testo(p);  // 関数testoは未定義です
//--ClassA.tonyu終わり--

クラスの親子関係が不正です。例えば、 ClassAがClassBの親クラスで、かつClassBがClassAの親クラス であってはいけません。

実行時エラー

実行時エラーは、プログラム実行中に発生するエラーです。

a.method1(); のように、他のオブジェクトのメソッドを呼び出そうと していますが、aの値がオブジェクトでない(数値やnull)ため メソッドを呼べません。 aの値がおかしくなっていないか調べましょう。 aの綴りが間違っている場合がよくあります。綴りが間違った変数はnullとみなされます。

例2

実行方法...
 
 a=0;
 a.run();  // 0はオブジェクトでないため、関数runを呼び出せません

Array型オブジェクトにおいてget,setメソッドなどをもちいたアクセスを行った場合に、要素を指定するための番号(添字)が範囲外です

例3

実行方法...
 
a=new Array();
a.add("apple");a.add("orange");
b=a.get(3);  // 配列aの要素は2つ(添字は0,1)なのに、添字の番号が3

その他のエラー

メソッドの呼び出しが無限に行われると発生する場合があります。

例4

実行方法...
 
function test(x) {
  print (x);
  test(x+1); // 永久にtestが呼ばれる
} 
test(3);

それ以外の原因としては、Tonyuシステム自身のバグが考えられます。 その際は申し訳ありませんが、Tonyuを再起動してください。

目次へ