エラー処理ステートメント

コマンド名機  能備 考
ON ERROR GOTOエラーが発生したとき指定行番号からエラー処理ルーチンに制御を移します。
RESUMEエラールーチン終了後、プログラムの実行を再開します。
ERRORエラーを故意に発生させます。



(説明の形式)

[機能] 各コマンド・ステートメント・関数の働きを簡潔に記述します。
[書式] 各コマンド・ステートメント・関数の書き方の一般形を示します。
[ ]の中は任意に省略できます。
[解説] 各コマンド・ステートメント・関数の実際の使用方法、働き、注意事項を詳しく述べています。

ON ERROR GOTO

[機能] エラーが発生したとき指定行番号からエラー処理ルーチンに制御を移します。
[書式] ON ERROR GOTO 行番号
ON ERROR GOTO ”ラベル名”
行番号:エラーが発生したとき実行させるエラー処理ルーチンの開始行番号。
”ラベル名”:エラーが発生したとき実行させるエラー処理ルーチンのラベル名。
[解説] このステートメントを前もって実行していると、エラーが発生したときに、行番号で指定した行からの
エラー処理ルーチン(ユーザーが設定)へ制御を移し、処理ルーチンの出口のRESUMEまでの実行を行います。
これによって、ほとんどのエラーに対し、BASICレベルで対策可能になります。なお、ON ERROR GOTO 0とすると、
このステートメントが止まり、通常のエラーが発生します。エラー処理ルーチンの中でエラーが起きた場合は、
エラーを出力してコマンド待ちにもどります。
またエラー処理ルーチンを実行中、プログラムの最後に達した場合は、NO RESUMEエラーが発生します。
END文で終った場合は、エラーが発生しないで、コマンド待ちにもどります。
普通このステートメントは、プログラムの先頭で実行しておきます。

RESUME

[機能] エラールーチン終了後、プログラムの実行を再開します。
[書式] RESUME [行番号]
RESUME [”ラベル名”]
RESUME [NEXT]
行番号、”ラベル名”:エラー処理ルーチン終了後復帰する行番号・ラベル
[解説] ON ERROR GOTOで飛び込んだエラー処理ルーチンから戻る場合は、必ずRESUMEによらなければなりません。
RESUMEのみならば、エラーの発生した命令から、
RESUME NEXTならば、エラーの発生した次の命令から、
RESUME 行番号/”ラベル名”ならば、その行番号またはラベルから、
実行を再開します。
もし、RESUMEではなく、GOTOなどで、もとのプログラムに実行を移した場合は、2回目のエラーが発生したときに、
エラー処理ができなくなります。

ERROR

[機能] エラーを故意に発生させます。
[書式] ERROR x
x:BASICで定義されているエラーコード
[解説] エラーコードで指定したエラーが発生し、ERR関数にはエラーコードが、 ERL変数には
そのステートメントの行番号が入ります。これによって、エラー処理ルーチンが正常に作動するか確めることが可能です。
エラー処理ルーチンのデバッグが終了したら、プログラム中より取りのぞいて下さい。


先頭に戻る