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

Definizione

Genera un errore di run-time; può essere usato invece dell'istruzione Error .

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)

Parametri

Number
Int32

Required. Long integer che identifica la natura dell'errore. Visual Basic errori si trovano nell'intervallo 0-65535; l'intervallo 0-512 è riservato per gli errori di sistema; l'intervallo 513-65535 è disponibile per gli errori definiti dall'utente. Quando si imposta la Number proprietà sul proprio codice di errore in un modulo di classe, si aggiunge il numero di codice di errore alla vbObjectError costante . Ad esempio, per generare il numero di errore 513, assegnare vbObjectError + 513 alla Number proprietà .

Source
Object

Optional. String espressione che denomina l'oggetto o l'applicazione che ha generato l'errore. Quando si imposta questa proprietà per un oggetto, utilizzare il formato project.class. Se non viene specificato Source, viene usato l'ID processo del progetto di Visual Basic corrente.

Description
Object

Optional. String espressione che descrive l'errore. Se non specificato, viene esaminato il valore nella Number proprietà . Se è possibile eseguire il mapping a un codice di errore di runtime Visual Basic, la stringa restituita dalla funzione viene usata come proprietà /> Number, viene usato il messaggio di errore "Definito dall'applicazione o definito dall'oggetto".

HelpFile
Object

Optional. Percorso completo del file della Guida in cui è possibile trovare la Guida su questo errore. Se non specificato, Visual Basic usa l'unità, il percorso e il nome file completi del file della Guida Visual Basic.

HelpContext
Object

Optional. ID contesto che identifica un argomento all'interno HelpFile di che fornisce assistenza per l'errore. Se omesso, viene utilizzato l'ID del contesto Visual Basic del file della Guida corrispondente alla proprietà />

Esempio

In questo esempio viene utilizzato il metodo Raise dell'oggetto Raise per generare un errore all'interno di una funzione scritta in Visual Basic. La funzione chiamante può intercettare l'errore e segnalarlo all'utente con una finestra di messaggio.

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

Commenti

Tutti gli Raise argomenti tranne Number sono facoltativi. Se si omettono argomenti facoltativi e le impostazioni delle proprietà dell'oggetto Err contengono valori che non sono stati cancellati, tali valori fungono da valori per l'errore.

Poiché l'oggetto Err fornisce informazioni più complete rispetto a quando si generano errori con l'istruzione , Raise è utile per generare errori durante la Error scrittura di moduli di classe. Ad esempio, con il Raise metodo , l'origine che ha generato l'errore può essere specificata nella Source proprietà , è possibile fare riferimento alla Guida online per l'errore e così via.

Si applica a

Vedi anche