Err オブジェクト (Visual Basic)
更新 : 2007 年 11 月
Err オブジェクトは、ランタイム エラーに関する情報を保有しています。
解説
Err オブジェクトのプロパティは、エラーを発生させた Visual Basic、オブジェクト、またはプログラマによって設定されます。
ランタイム エラーが発生すると、そのエラーを一意に識別するための情報と、エラーを処理するためまたはエラーの詳細を把握するのに使用できる情報が、Err オブジェクトのプロパティに格納されます。コード内でランタイム エラーを生成するには、Raise メソッドを使います。
Err オブジェクトのプロパティは、エラー処理ルーチン内の Exit Sub、Exit Function、Exit Property、または Resume Next の各ステートメントの後で、0 または長さ 0 の文字列 ("") にリセットされます。エラー処理ルーチンの外側で Resume ステートメントの任意のフォームを使用した場合は、Err オブジェクトのプロパティはリセットされません。Err オブジェクトを明示的にリセットするには Clear メソッドを使います。
システム エラーおよびクラス モジュールに対してランタイム エラーを生成するには、Error ステートメントではなく、Raise メソッドを使います。他のコードで Raise メソッドを使うかどうかは、返される情報の量によって決まります。
Err オブジェクトは、グローバル スコープを持つ組み込みオブジェクトです。したがって、コード内でオブジェクトのインスタンスを作成する必要はありません。
メモ : |
---|
ErrorToString 関数 を使用すると、特定のエラー番号に対応するエラー メッセージを見つけることができます。 |
使用例
次に示す例では、エラー メッセージ ダイアログ ボックスを作成する処理で Err オブジェクトのプロパティを使用しています。Clear メソッドを最初に使用した場合は、Raise メソッドを使って Visual Basic エラーを生成すると、Visual Basic の既定の値が Err オブジェクトのプロパティになることに注意してください。Description プロパティは、エラーを説明する文字列を返します。
Dim Msg As String
' If an error occurs, construct an error message.
On Error Resume Next ' Defer error handling.
Err.Clear()
Err.Raise(6) ' Generate an "Overflow" error.
' Check for error, then show message.
If Err.Number <> 0 Then
Msg = "Error # " & Str(Err.Number) & " was generated by " _
& Err.Source & ControlChars.CrLf & Err.Description
MsgBox(Msg, MsgBoxStyle.Information, "Error")
End If
必要条件
名前空間 : Microsoft.VisualBasic
**アセンブリ :**Visual Basic ランタイム ライブラリ (Microsoft.VisualBasic.dll)
参照
処理手順
方法 : Visual Basic ランタイム エラーに関する情報を取得する