ErrObject.Number Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt einen numerischen Wert zurück, der einen Fehler angibt, oder legt diesen fest. Lese-/Schreibzugriff.
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
Eigenschaftswert
Gibt einen numerischen Wert zurück, der einen Fehler angibt, oder legt diesen fest. Lese-/Schreibzugriff.
Ausnahmen
Number
ist größer als 65535.
Beispiele
In diesem Beispiel wird eine typische Verwendung der Number
-Eigenschaft in einer Fehlerbehandlungsroutine veranschaulicht.
' 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
In diesem Beispiel wird die Err
-Methode des Raise
Objekts verwendet, um einen ursprünglichen Fehler innerhalb einer in Visual Basic geschriebenen Funktion zu generieren. Die aufrufende Funktion kann den Fehler abfangen und dem Benutzer melden. Beachten Sie, dass die Prozedur CallingProcedure
den Typ der Informationen, die Sie von einem Err
Objekt ableiten können, mit den Informationen, die Sie von einem Exception
Objekt ableiten können, gegenüber stellt.
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
Hinweise
Raise
Alle Argumente außer Number
sind optional. Wenn Sie optionale Argumente weglassen und die Eigenschafteneinstellungen des Err
Objekts Werte enthalten, die nicht gelöscht wurden, dienen diese Werte als Werte für Ihren Fehler.
Da das Err
-Objekt umfassendere Informationen liefert, als wenn Sie Fehler mit der Error
-Anweisung generieren, ist es nützlich, Raise
Fehler beim Schreiben von Klassenmodulen zu generieren. Mit der Raise
-Methode kann beispielsweise die Quelle, die den Fehler generiert hat, in der -Eigenschaft angegeben werden, auf die Source
Onlinehilfe für den Fehler kann verwiesen werden usw.
Legen Sie beim Zurückgeben eines benutzerdefinierten Fehlers aus einem Objekt fest Err.Number
, indem Sie der Konstanten die von Ihnen ausgewählte Zahl als Fehlercode VbObjectError
hinzufügen. Beispielsweise verwenden Sie den folgenden Code, um die Zahl 1051 als Fehlercode zurückzugeben:
Err.Raise(Number:=vbObjectError + 1051, Source:="SomeClass")