ID : 109
On Error
機能
エラーレベル1のエラー発生時の処理ルーチンを指定します。
構文
On Error 処理
指定項目
- 処理
- エラーの発生したときの処理を指定します。"Resume Next"または"GoTo ラベル名"、"Goto 0"を指定します。
解説
このステートメントが実行された後のステートメントでエラーレベル1のエラー発生したときにプログラムを停止することなくエラー処理します。
On Error GoTo 0 でエラー処理を無効にします。
エラー処理の指定はプロシージャ内のみで有効です。
処理指定 | エラー処理内容 |
---|---|
Resume Next | エラーが発生したステートメントは実行せず、次の行を実行します。 |
GoTo ラベル名 | エラー処理ルーチンのラベル名を指定します。 |
GoTo 0 | エラー処理を無効にします。 |
注意事項
- エラー処理の指定はプロシージャ内でのみ有効です。"エラー処理の例"参照
- 特権タスク、操作盤内で発生したレベル1、2のエラーはレベル3として処理されます。ただし、On Errorを記述する場合はレベル1で扱い、On Erroで指定した処理を実行します。
用例
'!TITLE "エラー発生時に指定したラベルの処理を実行"
' エラー発生時に警告文を表示
Sub Sample_OnErrorGoTo
Dim aaa As Integer
'エラー処理ルーチンはLABEL1
On Error GoTo LABEL1
aaa = "test" ' この処理でエラー発生
' エラー時はその行を実行せず次の行へ
On Error Resume Next
aaa = "test" ' この処理でエラー発生
' エラー処理ルーチン無効(エラー発生します)
On Error GoTo 0
aaa = "test" ' この処理でエラー発生
Exit Sub
LABEL1:
' メッセージ出力ウィンドウに警告文を表示
PrintDbg "Error Occurred !!"
Resume Next
End Sub
ID : 109