Raise メソッド

実行時エラーを生成します。

構文

オブジェクト数値ソース説明ヘルプファイルhelpcontext発生させる

Raise メソッドには、以下のオブジェクト修飾子および名前付き引数があります。

引数 説明
object 必須です。 常に、Err オブジェクトです。
number 必須です。 エラーの性質を識別する整数型 (Long) です。 Visual Basic エラー (Visual Basic 定義エラーとユーザー定義エラーの両方) は、0 から 65535 の範囲にあります。 範囲 0 から 512 はシステム エラー用に予約されています。範囲 513 から 65535 は、ユーザー定義エラーに使用できます。

Number プロパティを クラス モジュールの独自のエラー コードに設定する場合は、エラー コード番号を vbObjectError定数に追加します。 たとえば、 エラー番号 513 を生成するには、vbObjectError + 513 を Number プロパティに割り当てます。
source 省略可能。 エラーを生成したオブジェクトまたはアプリケーションの名前を示す文字列式です。 Source プロパティをオブジェクトに対して設定する場合、project.class の形式を使用します。 source を指定しない場合、現在の Visual Basic プロジェクトのプログラム ID が使用されます。
description 省略可能。 エラーを説明する文字列式です。 指定しない場合、Number の値が調べられます。 Visual Basic の実行時エラー コードにマップできる場合、Error 関数によって返される文字列が Description として使用されます。 Number に対応する Visual Basic エラーがない場合、"アプリケーション定義またはオブジェクト定義のエラーです。" というメッセージが使用されます。
helpfile 省略可能。 このエラーに関するヘルプを確認できるヘルプ ファイルへの完全修飾パスです。 指定しない場合、Visual Basic では、完全修飾された、Visual Basic ヘルプ ファイルのドライブ、パス、およびファイル名が使用されます。 HelpFile を参照してください。
helpcontext 省略可能。 エラーに関するヘルプを提供する helpfile 内のトピックを識別するコンテキスト ID です。 省略した場合、Number プロパティに対応するエラーに応じた、Visual Basic ヘルプ ファイルのコンテキスト ID が使用されます (存在する場合)。 HelpContext を参照してください。

解説

number 以外のすべての引数はオプションです。 一部の引数を指定しないで Raise を使用し、Err オブジェクトのプロパティ設定にクリアされていない値が含まれる場合、その値はエラーの値としての役割を果たします。

実行時エラーを生成するのに Raise を使用しますが、これを Error ステートメントの代わりに使用することもできます。

クラス モジュールを記述する場合、エラーを生成するのに Raise が役立ちます。Err オブジェクトでは、Error ステートメントでエラーを生成する場合に提供できる情報よりも豊富な情報が提供されるためです。 たとえば、Raise メソッドを使用すると、エラーの生成元を Source プロパティに指定したり、エラーに関するオンライン ヘルプを参照したりできます。

この例では、Err オブジェクトの Raise メソッドを使用し、Visual Basic で記述されたオートメーション オブジェクト内でエラーを生成します。 このエラーには、MyProj.MyObject というプログラム ID があります。 MacIntosh では、既定のドライブ名は "HD" であり、パス名の部分はバックスラッシュではなくコロンで区切られます。

Const MyContextID = 1010407    ' Define a constant for contextID.
Function TestName(CurrentName, NewName)
    If Instr(NewName, "bob") Then    ' Test the validity of NewName.
        ' Raise the exception
        Err.Raise vbObjectError + 513, "MyProj.MyObject", _
        "No ""bob"" allowed in your name", "c:\MyProj\MyHelp.Hlp", _
        MyContextID
    End If
End Function

関連項目

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

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