ErrObject.Number プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
エラーを示す数値を返すか、または設定します。 読み取りと書き込みが可能です。
public:
property int Number { int get(); void set(int value); };
public int Number { get; set; }
member this.Number : int with get, set
Public Property Number As Integer
プロパティ値
エラーを示す数値を返すか、または設定します。 読み取りと書き込みが可能です。
例外
Number
が 65535 より大きい値です。
例
この例では、エラー処理ルーチンでの プロパティの Number
一般的な使用方法を示します。
' Typical use of Number property.
Sub test()
On Error GoTo out
Dim x, y As Integer
x = 1 / y ' Create division by zero error.
Exit Sub
out:
MsgBox(Err.Number)
MsgBox(Err.Description)
' Check for division by zero error.
If Err.Number = 11 Then
y = y + 1
End If
Resume Next
End Sub
この例では、 オブジェクトの Raise
メソッドをErr
使用して、Visual Basic で記述された関数内で元のエラーを生成します。 呼び出し元の関数は、エラーをキャッチしてユーザーに報告できます。 プロシージャ CallingProcedure
は、オブジェクトから派生できる情報の種類と、オブジェクトから Err
派生 Exception
できる情報を比較していることに注意してください。
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
プロパティで指定したり、エラーのオンライン ヘルプを参照したりできます。
オブジェクトからユーザー定義エラーを返す場合は、エラー コードとして選択した番号を定数にVbObjectError
追加して設定Err.Number
します。 たとえば、次のコードを使用して、エラー コードとして数値 1051 を返します。
Err.Raise(Number:=vbObjectError + 1051, Source:="SomeClass")
適用対象
こちらもご覧ください
.NET