ErrObject.Raise(Int32, Object, Object, Object, Object) Methode

Definition

Generiert einen Laufzeitfehler und kann statt der Error-Anweisung verwendet werden.

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)

Parameter

Number
Int32

Erforderlich. Long-Integer, der 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. Beim Festlegen der Number-Eigenschaft auf den eigenen Code in einem Klassenmodul fügen Sie der vbObjectError-Konstante Ihre 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 nennt, das bzw. die den Fehler generiert hat. Wenn Sie diese Eigenschaft für ein Objekt festlegen, verwenden Sie das Format project.class. Wird Source nicht angegeben, wird die Prozess-ID des aktuellen Visual Basic-Projekts verwendet.

Description
Object

Dies ist optional. String-Ausdruck, der den Fehler beschreibt. Ohne Angabe wird der Wert in der Number-Eigenschaft überprüft. Wenn eine Zuordnung zu dem Code eines Visual Basic-Laufzeitfehlers möglich ist, wird die Zeichenfolge, die von der Error-Funktion zurückgegeben wird, als Description-Eigenschaft verwendet. Entspricht der Number-Eigenschaft kein Visual Basic-Fehler, wird die Meldung "Anwendungs- oder objektdefinierter Fehler" verwendet.

HelpFile
Object

Dies ist optional. Der vollqualifizierte Pfad zu der Hilfedatei, in der Hilfe zu diesem Fehler zur Verfügung steht. Ohne Angabe verwendet Visual Basic den vollqualifizierten Laufwerks-, Pfad- und Dateinamen der Visual Basic-Hilfedatei.

HelpContext
Object

Dies ist optional. Die Kontext-ID, die ein Thema in HelpFile identifiziert, das Hilfe für den Fehler bereitstellt. Wenn keine Angabe erfolgt, wird die Kontext-ID in der Visual Basic-Hilfedatei für den Fehler verwendet, der der Number-Eigenschaft entspricht, sofern vorhanden.

Beispiele

In diesem Beispiel wird die Err -Methode des Raise 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 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.

Gilt für:

Weitere Informationen