Err オブジェクト

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

解説

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

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

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

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

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

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

例

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

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 のサポートおよびフィードバックを参照してください。