エラートラッピング機能を利用して、プログラムで実行エラーを処理します。
通信などのプログラムでは、通常の使い方でも実行エラーの発生が想定されます。このような場合、エラートラッピング機能を使用して、ユーザプログラムで復帰処理を行います。
ON ERROR GOTOステートメントを使用すると、実行エラーを検出した際、特定の復帰処理を実行させることができます。
labelには、エラー処理ルーチンのラベル名を指定します。0を指定すると、エラートラッピング機能は無効となります。
returnlocationには、エラー処理後の戻り先を、下表の値で指定します。
指定値 | エラー処理後の戻り先 |
---|---|
指定しない | 実行エラーの発生したステートメント |
0 | 実行エラーの発生したステートメント |
NEXT | 実行エラーの発生したステートメントのすぐ次のステートメント |
その他のラベル名 | ラベル名で指定された行 |
ERR関数、ERL関数を使用すると、実行エラー要因とエラー発生行を確認することができます。エラー処理ルーチンの中で、エラー要因に応じた復帰処理を行うことができます。
ファイル送信エラーが発生したら、リトライする。
private tempkey$ '変数を宣言 open "COM1:115200" as #1 '通信デバイスをオープン out &h6060, 3 on error goto ERRCOM '通信エラーが発生したら、ERRCOMへ xfile "TEST1.DAT" 'ファイルを送信 on error goto 0 close #1 end ERRCOM: screen 1 print "送信エラー!" print "CODE:";hex$(ERR); print " ADDR:";hex$(ERL) print "キーを押すと、" print "リトライします"; tempkey$ = input$(1) resume 0