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

Definitie

Genereert een runtimefout; kan worden gebruikt in plaats van de Error instructie.

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)

Parameters

Number
Int32

Required. Long geheel getal dat de aard van de fout aangeeft. Visual Basic fouten zich in het bereik 0-65535 bevinden; het bereik 0-512 is gereserveerd voor systeemfouten; het bereik 513-65535 is beschikbaar voor door de gebruiker gedefinieerde fouten. Wanneer u de Number eigenschap instelt op uw eigen foutcode in een klassemodule, voegt u het foutcodenummer toe aan de vbObjectError constante. Als u bijvoorbeeld het foutnummer 513 wilt genereren, wijst u deze toe aan vbObjectError + 513 de Number eigenschap.

Source
Object

Optional. String expressie met de naam van het object of de toepassing die de fout heeft gegenereerd. Wanneer u deze eigenschap instelt voor een object, gebruikt u het formulier project.class. Als Source niet is opgegeven, wordt de proces-id van het huidige Visual Basic project gebruikt.

Description
Object

Optional. String expressie die de fout beschrijft. Indien niet opgegeven, wordt de waarde in de Number eigenschap onderzocht. Als deze kan worden toegewezen aan een Visual Basic runtimefoutcode, wordt de tekenreeks die wordt geretourneerd door de functie Error gebruikt als de eigenschap Description. Als er geen Visual Basic fout is die overeenkomt met de eigenschap Number, wordt het bericht 'Door toepassing gedefinieerd of objectgedefinieerde fout' gebruikt.

HelpFile
Object

Optional. Het volledig gekwalificeerde pad naar het Help-bestand waarin help over deze fout kan worden gevonden. Als dit niet is opgegeven, gebruikt Visual Basic het volledig gekwalificeerde station, het pad en de bestandsnaam van het Visual Basic Help-bestand.

HelpContext
Object

Optional. De context-id waarmee een onderwerp wordt HelpFile geïdentificeerd dat hulp biedt voor de fout. Als u dit weglaat, wordt de context-id Visual Basic Help-bestand gebruikt voor de fout die overeenkomt met de eigenschap Number, als deze bestaat.

Voorbeelden

In dit voorbeeld wordt de methode Raise van het object Errc1 /> gebruikt om een fout te genereren binnen een functie die is geschreven in Visual Basic. De aanroepende functie kan de fout onderscheppen en rapporteren aan de gebruiker met een berichtvak.

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

Opmerkingen

Alle argumenten behalve Number zijn Raise optioneel. Als u optionele argumenten weglaat en de eigenschapsinstellingen van het Err object waarden bevatten die niet zijn gewist, dienen deze waarden als de waarden voor uw fout.

Omdat het Err object uitgebreidere informatie geeft dan wanneer u fouten genereert met de Error instructie, Raise is het handig voor het genereren van fouten bij het schrijven van klassemodules. Met de Raise methode kan bijvoorbeeld naar de bron die de fout heeft gegenereerd, worden opgegeven in de Source eigenschap, online Help voor de fout kan worden verwezen, enzovoort.

Van toepassing op

Zie ook