VB エラー操作編 |
Errオブジェクト Err オブジェクトは、実行時エラーに関する情報を保有しています。 実行時エラーが発生すると、そのエラーを識別するための情報など、エラー処理で利用可能な情報が、Err オブジェクトに格納されます。コード内で実行時エラーを生成するときには、Raise メソッドを使います。 Err オブジェクトの各プロパティは、エラー処理ルーチン内の Exit Sub、Exit Function、Exit Property、Resume Next ステートメントの後で、0 または長さ 0 の文字列 ("") にリセットされます。エラー処理ルーチンの外側で Resume ステートメントを使用した場合は、Err オブジェクトのプロパティはリセットされません。Clear メソッドを使うと、Err を明示的にリセットすることができます。 |
【サンプルリスト】 Private Sub Command1_Click() On Error GoTo Err_Rtn 'エラー処理ルーチン開始 FileCopy "C:\WORK\TEST.TXT", "C:\WORK\SAMPLE.TXT" Exit Sub Err_Rtn: MsgBox "Number : " & Err.Number & vbCr & _ "Source : " & Err.Source & vbCr & _ "Description : " & Err.Description, _ vbCritical, _ "システムエラー" End Sub |
●On Error GoTo
ステートメント
On Error GoTo Err_Rtn 'エラー処理ルーチン開始 FileCopy "C:\WORK\TEST.TXT", "C:\WORK\SAMPLE.TXT" Exit Sub Err_Rtn: MsgBox Err.Description End Sub |
●On Error GoTo 0
ステートメント
On Error GoTo Err_Rtn 'エラー処理ルーチン開始 FileCopy "C:\WORK\TEST.TXT", "C:\WORK\SAMPLE.TXT" On Error GoTo 0 'エラー処理ルーチン終了 Exit Sub Err_Rtn: MsgBox Err.Description End Sub |
●On Error Resume
Next ステートメント
On Error Resume Next 'エラーが起きても処理を続行させる FileCopy "C:\WORK\TEST.TXT", "C:\WORK\SAMPLE.TXT" If (Err.Number <> 0) Then MsgBox Err.Description End If End Sub |
●Numberプロパティ
Debug.Print Err.Number Debug.Print Err.Source Debug.Print Err.Description End If |
●Sourceプロパティ
Debug.Print Err.Number Debug.Print Err.Source Debug.Print Err.Description End If |
●Descriptionプロパティ
Debug.Print Err.Number Debug.Print Err.Source Debug.Print Err.Description End If |
●Clearメソッド
Debug.Print Err.Number Debug.Print Err.Source Debug.Print Err.Description Err.Clear 'エラー情報のクリア End If ※ 次のいずれかのステートメントが実行されると、Clear メソッドが自動的に呼び出されます。 ・Resume ステートメント ・Exit Sub、Exit Function、Exit Property ステートメント ・On Error ステートメント |
●Raiseメソッド
※ エラー番号は、0〜512 の値はシステムエラー用に予約されているため、ユーザー定義のエラーに使用できるのは、513〜65535 の範囲の値です。 |
●LastDLLErrorプロパティ
|