アプリケーションの実行中に、何らかのエラーが発生した場合、処理が中断され
エラーメッセージが表示されます。
エラー発生時に独自のエラーメッセージを表示するためには、エラーを制御する処理
(エラー処理ルーチン)を用意します。
次のサンプルプロシージャは、On Errorステートメントを使って、エラーが発生
したらメッセージボックスを表示して処理を終了しています。
On Errorステートメントは、エラー処理ルーチンを有効にし、プロシージャ内での
エラー処理ルーチンの位置を指定します。
● サンプル ●
Sub Sample()
Dim i As Integer
On Error GoTo Err_Msg
i = 1 / 0
Exit Sub
Err_Msg:
MsgBox "エラーが発生しました"
End Sub
サンプルプロシージャでは、0で除算を行うのでエラーが発生します。
● 詳細 ●
エラーが発生すると、On Errorステートメントで指定された「Err_Msg」という
行ラベルで設定したエラー処理ルーチンにプログラムの制御が移り、エラー処理
(メッセージボックスの表示)がおこなわれます。
On Errorステートメントには、次の構文があります。
<構文1> On Error GoTo line
引数lineに指定した行から始まるエラー処理ルーチンを有効にします。引数lineは
必ず指定します。引数line には任意の行ラベルまたは行番号を指定します。実行時
エラーが生成されると、ここで設定したエラー処理ルーチンにプログラムの制御が移り、
エラー処理ルーチンがアクティブになります。引数lineに指定する行は、On Error
ステートメントと同じプロシージャ内に存在しなければなりません。この制限に従わなければ、
コンパイル時エラーが発生します。
<構文2> On Error Resume Next
実行時エラーが発生してもプログラムを中断せず、エラーが発生したステートメントの
次のステートメントから実行を継続します。オブジェクトを操作する場合は、On Error GoTo
ステートメントではなく、このステートメントを使ってください。
<構文3> On Error GoTo 0
現在のプロシージャに含まれる使用可能なエラー処理ルーチンを無効にします。
|