Freigeben über


Number-Eigenschaft

Gibt einen numerischen Wert zurück, der einen Fehler angibt, oder legt ihn fest. Number ist die Standardeigenschaft des Err-Objekts . Lese-/Schreibzugriff.

Hinweise

Wenn Sie einen benutzerdefinierten Fehler von einem Objekt zurückgeben, legen Sie Err.Number fest, indem Sie der VbObjectError-Konstante die von Ihnen ausgewählte Zahl als Fehlercode hinzufügen. Verwenden Sie beispielsweise folgenden Code, um die Zahl 1051 als Fehlercode zurückzugeben:

Err.Raise Number := vbObjectError + 1051, Source := "SomeClass"

Beispiel

Das erste Beispiel veranschaulicht eine typische Verwendung der Number-Eigenschaft in einer Fehlerbehandlungsroutine. Im zweiten Beispiel wird die Number-Eigenschaft des Err-Objekts untersucht, um zu bestimmen, ob ein von einem Automation-Objekt zurückgegebener Fehler vom Objekt definiert wurde oder ob er einem von Visual Basic definierten Fehler zugeordnet wurde.

Beachten Sie, dass die Konstante vbObjectError eine sehr große negative Zahl ist, die ein Objekt seinem eigenen Fehlercode hinzufügt, um anzugeben, dass der Fehler vom Server definiert wird. Wenn Sie sie von Err.Number subtrahieren, wird sie daher aus dem Ergebnis entfernt.

Wenn der Fehler objektdefiniert ist, bleibt die Basisnummer in MyError, die zusammen mit der ursprünglichen Fehlerquelle in einem Meldungsfeld angezeigt wird. Wenn Err.Number einen Visual Basic-Fehler darstellt, wird die Visual Basic-Fehlernummer im Meldungsfeld angezeigt.

' Typical use of Number property
Sub test()
    On Error GoTo out
    
    Dim x, y
    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
End Sub
' Using Number property with an error from an 
' Automation object
Dim MyError, Msg
' First, strip off the constant added by the object to indicate one
' of its own errors.
MyError = Err.Number - vbObjectError
' If you subtract the vbObjectError constant, and the number is still 
' in the range 0-65,535, it is an object-defined error code.
If MyError > 0 And MyError < 65535 Then
    Msg = "The object you accessed assigned this number to the error: " _
             & MyError & ". The originator of the error was: " _
            & Err.Source & ". Press F1 to see originator's Help topic."
' Otherwise it is a Visual Basic error number.
Else
    Msg = "This error (# " & Err.Number & ") is a Visual Basic error" & _
            " number. Press Help button or F1 for the Visual Basic Help" _
            & " topic for this error."
End If
    MsgBox Msg, , "Object Error", Err.HelpFile, Err.HelpContext

Siehe auch

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.