Err オブジェクト

実行時エラーに関する情報が含まれます。

解説

Err オブジェクトのプロパティは、エラーの生成元 (Visual Basic、オブジェクト、またはプログラマー) によって設定されます。

Err オブジェクトの既定のプロパティは、Number です。 既定のプロパティはオブジェクト名 Err で表すことができるので、Err 関数または Err ステートメントを使用して作成された以前のコードを変更する必要はありません。

実行時エラーが発生すると、Err オブジェクトのプロパティには、エラーを一意に示す情報およびエラーの処理に使用できる情報が設定されます。 コードで実行時エラーを生成するには、Raise メソッドを使用します。

Err オブジェクトのプロパティは、エラー処理ルーチン内の Exit SubExit FunctionExit Property、または Resume Next ステートメントの後で 0 または長さ 0 の文字列 ("") にリセットされます。 エラー処理ルーチン外で Resume ステートメントのいずれかの形式を使用した場合、Err オブジェクトのプロパティはリセットされません。 Err を明示的にリセットするには、Clear メソッドを使用できます。

システム エラーおよびクラス モジュールに実行時エラーを生成するには、Error ステートメントではなく Raise メソッドを使用します。 他のコードでの Raise メソッドの使用は、返す必要のある情報量によって異なります。

Err オブジェクトは、グローバルなスコープの組み込みオブジェクトです。 コード内にそのインスタンスを作成する必要はありません。

この例では、Err オブジェクトのプロパティ (NumberDescriptionHelpContextHelpFileSource) を使用して、エラー メッセージ ダイアログ ボックスを作成します。

Clear メソッドを最初に使用すると、Visual Basic エラーを Raise メソッドで生成するときに、Visual Basic の既定値が Err オブジェクトのプロパティになることに注意してください。

Dim Msg
' 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 & Chr(13) & Chr(13) & Err.Description
    MsgBox Msg, vbMsgBoxHelpButton, "Error", Err.Helpfile, Err.HelpContext
End If

関連項目

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。