Raise メソッド (Err オブジェクト)

更新 : 2007 年 11 月

ランタイム エラーを生成します。Error ステートメントの代わりに使用できます。

Public Sub Raise( _
   ByVal Number As Integer, _
   Optional ByVal Source As Object = Nothing, _
   Optional ByVal Description As Object = Nothing, _
   Optional ByVal HelpFile As Object = Nothing, _
   Optional ByVal HelpContext As Object = Nothing _
)

パラメータ

  • Number
    必ず指定します。エラーに割り当てられているエラー番号を示す、長整数型 (Long) の整数を指定します。Visual Basic の各種エラーは、0 ~ 65535 の範囲内にあります。0 ~ 512 はシステム エラー用に予約されており、513 ~ 65535 はユーザー定義のエラーに利用できます。クラス モジュール内で Number プロパティに独自のエラー番号を設定するときには、エラー番号を定数 vbObjectError に追加します。たとえば、エラー番号 513 を発生させるには、Number プロパティに vbObjectError + 513 を割り当てます。

  • Source
    エラーを発生させたオブジェクトまたはアプリケーションを指定する文字列 (String) 式です。オブジェクトのためにこのプロパティを設定する場合は、project.class の形式を使用します。Source が指定されていない場合、現在の Visual Basic プロヘクトのプロセス ID が使用されます。

  • Description
    エラー メッセージを表す文字列 (String) 式を指定します。省略すると、Number プロパティの値が使われます。Visual Basic の実行時エラー番号に対応しているときは、Error 関数によって返される文字列を Description プロパティとして使用します。Number プロパティに対応する Visual Basic エラー番号がないときは、"アプリケーション定義またはオブジェクト定義のエラーです。" メッセージが使用されます。

  • HelpFile
    省略可能です。このエラーに関するヘルプ トピックが含まれるヘルプ ファイルの絶対パスを指定します。ヘルプ ファイルの絶対パスを指定しない場合は、Visual Basic ヘルプ ファイルのドライブ、パス、およびファイル名が使用されます。

  • HelpContext
    省略可能です。HelpFile 内の指定したエラーに関するトピックのコンテキスト番号を指定します。このコンテキスト番号を省略すると、Number プロパティの値が Visual Basic ヘルプ ファイルのコンテキスト番号に対応しているときは、その番号が使われます。

例外

例外の種類

エラー番号

条件

ArgumentException

5

Number が 65535 を超えています。

非構造化エラー処理を使用する Visual Basic 6.0 アプリケーションをアップグレードする場合は、「エラー番号」列を参照してください(エラー番号を Number プロパティ (Err オブジェクト) と照らし合わせます)。しかし、可能な限り、このエラー処理は Visual Basic の構造化例外処理の概要 で置き換えてください。

解説

Number を除き、Raise メソッドのすべての引数は省略できます。引数を省略する場合は、Err オブジェクトの各プロパティの設定値がクリアされていないと、その値がエラーを表す値として使用されます。

Error ステートメントでエラーを生成した場合よりも、Err オブジェクトの方がより充実した情報を提供できるので、 Raise は、クラス モジュールの作成時にエラーを生成する野に役立ちます。たとえば、Raise メソッドを使って、エラーを発生させたソースを Source プロパティに指定したり、エラーのオンライン ドキュメントを参照したりできます。

使用例

Err オブジェクトの Raise メソッドを使って、Visual Basic で記述された関数の中でエラーを発生させる例を次に示します。呼び出し元の関数は、エラーを検出してメッセージ ボックスでユーザーに表示できます。

Const WidthError As Integer = 1
Const WidthHelp As Object = 101

Sub TestWidth(ByVal width As Integer)
  If width > 1000 Then
      Err.Raise(vbObjectError + 512 + WidthError, "TestWidth", _
      "Width must be less than 1000.", "HelpFile.hlp", WidthHelp)
  End If
End Sub

Sub CallingProcedure()
  Try
    TestWidth(2000)
  Catch ex As Exception
    MsgBox(ex.Message)
  End Try
End Sub

必要条件

名前空間 : Microsoft.VisualBasic

モジュール : ErrObject

アセンブリ : Visual Basic ランタイム ライブラリ (Microsoft.VisualBasic.dll)

参照

参照

Err オブジェクト (Visual Basic)

Clear メソッド (Err オブジェクト)

Description プロパティ (Err オブジェクト)

Error ステートメント

HelpContext プロパティ (Err オブジェクト)

HelpFile プロパティ (Err オブジェクト)

LastDllError プロパティ (Err オブジェクト)

Number プロパティ (Err オブジェクト)

On Error ステートメント (Visual Basic)

Source プロパティ (Err オブジェクト)

ArgumentException