ErrObject.Raise(Int32, Object, Object, Object, Object) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
実行時エラーを生成します。Error
ステートメントの代わりに使用できます。
public void Raise (int Number, object? Source = default, object? Description = default, object? HelpFile = default, object? HelpContext = default);
public void Raise (int Number, object Source = default, object Description = default, object HelpFile = default, object HelpContext = default);
member this.Raise : int * obj * obj * obj * obj -> unit
Public Sub Raise (Number As Integer, Optional Source As Object = Nothing, Optional Description As Object = Nothing, Optional HelpFile As Object = Nothing, Optional HelpContext As Object = Nothing)
パラメーター
- Number
- Int32
必須です。 エラーの性質を識別する Long
型の整数。 Visual Basic エラーの番号は 0 から 65535 の範囲です。0 から 512 はシステム エラー用に予約されています。513 から 65535 はユーザー定義エラーに使用できます。 クラス モジュールの Number
プロパティに固有のエラー コードを設定する場合は、エラー コード番号を vbObjectError
定数に追加する必要があります。 たとえば、エラー番号 513 を生成するには、 プロパティに をNumber
割り当てますvbObjectError + 513
。
- Source
- Object
省略可能。 エラーが生成されたオブジェクトまたはアプリケーションを指定する String
型の式。 オブジェクトに対してこのプロパティを設定する場合は、 という形式 project
を使用しますclass
。 Source
が指定されていない場合は、現在の Visual Basic プロジェクトのプロセス ID が使用されます。
- Description
- Object
省略可能。 エラーを説明する String
型の式。 省略した場合、Number
プロパティの値が調べられます。 Visual Basic 実行時エラー コードに対応する可能性がある場合、Error
関数によって返される文字列は Description
プロパティとして使用されます。 Number
プロパティに対応する Visual Basic エラーがなかった場合は、"アプリケーション定義エラーまたはオブジェクト定義エラー" メッセージが使用されます。
- HelpFile
- Object
省略可能。 このエラーのヘルプが含まれているヘルプ ファイルへの絶対パス。 省略した場合、Visual Basic は Visual Basic ヘルプ ファイルの完全修飾されたドライブ、パス、およびファイル名を使用します。
- HelpContext
- Object
省略可能。 エラーのヘルプを提供する HelpFile
内のトピックを識別するコンテキスト ID。 省略した場合、Number
プロパティに対応するエラーの Visual Basic ヘルプ ファイルのコンテキスト ID が使用されます (存在する場合)。
例
この例では、 オブジェクトの Raise
メソッドをErr
使用して、Visual Basic で記述された関数内でエラーを生成します。 呼び出し元の関数は、エラーをキャッチし、メッセージ ボックスを使用してユーザーに報告できます。
Module Module1
Const WidthErrorNumber As Integer = 1000
Const WidthHelpOffset As Object = 100
Sub Main()
CallingProcedure()
End Sub
Sub TestWidth(ByVal width As Integer)
If width > 1000 Then
' Replace HelpFile.hlp with the full path to an appropriate
' help file for the error. Notice that you add the error
' number you want to use to the vbObjectError constant.
' This assures that it will not conflict with a Visual
' Basic error.
Err.Raise(vbObjectError + WidthErrorNumber, "ConsoleApplication1.Module1.TestWidth",
"Width must be less than 1000.", "HelpFile.hlp", WidthHelpOffset)
End If
End Sub
Sub CallingProcedure()
Try
' The error is raised in TestWidth.
TestWidth(2000)
Catch ex As Exception
' The Err object can access a number of pieces of
' information about the error.
Console.WriteLine("Information available from Err object:")
Console.WriteLine(Err.Number)
Console.WriteLine(Err.Description)
Console.WriteLine(Err.Source)
Console.WriteLine(Err.HelpFile)
Console.WriteLine(Err.HelpContext)
Console.WriteLine(Err.GetException)
Console.WriteLine(vbCrLf & "Information available from Exception object:")
Console.WriteLine(ex.Message)
Console.WriteLine(ex.ToString)
Err.Clear()
End Try
End Sub
End Module
' The example produces the following output:
' Information available from Err object:
' -2147220504
' Width must be less than 1000.
' ConsoleApplication1.Module1.TestWidth
' HelpFile.hlp
' 100
' System.Exception: Width must be less than 1000.
' at Microsoft.VisualBasic.ErrObject.Raise(Int32 Number, Object Source, Object
' Description, Object HelpFile, Object HelpContext)
' at ConsoleApplication1.Module1.TestWidth(Int32 width) in C:\Users\example\App
' Data\Local\Temporary Projects\ConsoleApplication1\Module1.vb:line 17
' at ConsoleApplication1.Module1.CallingProcedure() in C:\Users\example\AppData
' \Local\Temporary Projects\ConsoleApplication1\Module1.vb:line 25
'
' Information available from Exception object:
' Width must be less than 1000.
' System.Exception: Width must be less than 1000.
' at Microsoft.VisualBasic.ErrObject.Raise(Int32 Number, Object Source, Object
' Description, Object HelpFile, Object HelpContext)
' at ConsoleApplication1.Module1.TestWidth(Int32 width) in C:\Users\example\App
' Data\Local\Temporary Projects\ConsoleApplication1\Module1.vb:line 17
' at ConsoleApplication1.Module1.CallingProcedure() in C:\Users\example\AppData
' \Local\Temporary Projects\ConsoleApplication1\Module1.vb:line 25
注釈
を Raise
除く Number
すべての引数は省略可能です。 省略可能な引数を省略し、オブジェクトのプロパティ設定に Err
クリアされていない値が含まれている場合、これらの値はエラーの値として機能します。
オブジェクトは ステートメントで Err
エラーを生成する場合よりも豊富な情報を Error
提供するため、 Raise
はクラス モジュールを記述するときにエラーを生成するのに役立ちます。 たとえば、 メソッドを Raise
使用すると、エラーを生成したソースを Source
プロパティで指定したり、エラーのオンライン ヘルプを参照したりできます。
適用対象
こちらもご覧ください
.NET