ErrObject.Raise(Int32, Object, Object, Object, Object) Methode
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.
Generiert einen Laufzeitfehler; kann anstelle der Error Anweisung verwendet werden.
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)
Parameter
- Number
- Int32
Required.
Long ganze Zahl, die die Art des Fehlers identifiziert. Visual Basic Fehler liegen im Bereich 0-65535; der Bereich 0-512 ist für Systemfehler reserviert; der Bereich 513-65535 steht für benutzerdefinierte Fehler zur Verfügung. Wenn Sie die Number Eigenschaft auf Ihren eigenen Fehlercode in einem Klassenmodul festlegen, fügen Sie der Konstante die vbObjectError Fehlercodenummer hinzu. Um beispielsweise die Fehlernummer 513 zu generieren, weisen Sie vbObjectError + 513 der Number Eigenschaft zu.
- Source
- Object
Dies ist optional.
String Ausdruck, der das Objekt oder die Anwendung benennt, das den Fehler generiert hat. Verwenden Sie beim Festlegen dieser Eigenschaft für ein Objekt das Formular project.class. Wenn Source nicht angegeben ist, wird die Prozess-ID des aktuellen Visual Basic Projekts verwendet.
- Description
- Object
Dies ist optional.
String Ausdruck, der den Fehler beschreibt. Wenn nicht angegeben, wird der Wert in der Number Eigenschaft untersucht. Wenn sie einem Visual Basic Laufzeitfehlercode zugeordnet werden kann, wird die Zeichenfolge, die von der funktion Error zurückgegeben würde, als Description-Eigenschaft verwendet. Wenn der Number-Eigenschaft kein Visual Basic Fehler entspricht, wird die Meldung "Anwendungsdefinierter oder objektdefinierter Fehler" verwendet.
- HelpFile
- Object
Dies ist optional. Der vollqualifizierte Pfad zur Hilfedatei, in der Hilfe zu diesem Fehler gefunden werden kann. Wenn nicht angegeben, wird von Visual Basic der vollqualifizierte Laufwerks-, Pfad- und Dateiname der Visual Basic-Hilfedatei verwendet.
- HelpContext
- Object
Dies ist optional. Die Kontext-ID, die ein Thema identifiziert, in HelpFile dem Hilfe für den Fehler bereitgestellt wird. Wenn nicht angegeben, wird die Visual Basic Kontext-ID der Hilfedatei für den Fehler verwendet, der der Number-Eigenschaft entspricht, sofern vorhanden.
Beispiele
In diesem Beispiel wird die Raise-Methode des Err Objekts verwendet, um einen Fehler innerhalb einer in Visual Basic geschriebenen Funktion zu generieren. Die aufrufende Funktion kann den Fehler abfangen und dem Benutzer mit einem Meldungsfeld melden.
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 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 den Fehler.
Da das Err Objekt umfangreichere Informationen liefert als beim Generieren von Fehlern mit der Error Anweisung, 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 verwiesen werden usw.