エラー処理を制御する
サンプルソース
|
Sub Sample1() On Error Goto 0 Dim i As Long i = "test" ' この行で処理が中断 End Sub Sub Sample2() On Error Goto ErrorLabel Dim i As Long i = "test" ' この行で処理は中断せず、ErrorLabelに処理が移る Exit Sub :ErrorLabel Msgbox "エラー発生" End Sub Sub Sample3() On Error Resume Next Dim i As Long i = "test" ' この行で処理が中断せず、次の行が実行される Msgbox "処理終了" End Sub |
解説
On Error Goto 0はエラー処理を無効にします。エラーが発生した行で処理を中断します。
On Error Goto ラベルはエラーが発生すると、指定したラベルに処理を移します。
On Error Resume Nextはエラーが発生しても無視して処理を続けます。
何も定義していない場合は、On Error Goto 0が有効になっています。
Sample1で、型不一致によるデータ例外などのエラー発生した行で処理が中断されます。
Sample2で、エラー発生すると指定したラベルに処理が移ります。ラベル(ここでいうErrorLabel)は任意の名前を設定できます。
Sample3で、エラーが発生しても次の行が続けて実行されます。
