ErrObject.Raise(Int32, Object, Object, Object, Object) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Genera un errore di run-time. Può essere utilizzata al posto dell'istruzione Error
.
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)
Parametri
- Number
- Int32
Obbligatorio. Valore Long
integer che identifica la natura dell'errore. Gli errori di Visual Basic rientrano nell'intervallo 0-65535. L'intervallo 0-512 è riservato agli errori di sistema, mentre l'intervallo 513-65535 è disponibile per gli errori definiti dall'utente. Per impostare la proprietà Number
sul codice di errore in un modulo di classe, è necessario aggiungere il numero del codice di errore alla costante vbObjectError
. Ad esempio, per generare il numero di errore 513, assegnare vbObjectError + 513
alla Number
proprietà .
- Source
- Object
facoltativo. Espressione String
che denomina l'oggetto o applicazione che ha generato l'errore. Quando si imposta questa proprietà per un oggetto , utilizzare il formato project
.class
. Se Source
non viene specificato, viene utilizzato l'ID del processo del progetto Visual Basic corrente.
- Description
- Object
facoltativo. Espressione String
che descrive l'errore. Se omessa, viene esaminato il valore della proprietà Number
. Se può essere associata a un codice di errore di run-time di Visual Basic, la stringa restituita dalla funzione Error
viene utilizzata come proprietà Description
. Se non è vi alcun errore di Visual Basic che corrisponde alla proprietà Number
, viene utilizzato il messaggio "Errore definito dall'applicazione o dall'oggetto".
- HelpFile
- Object
facoltativo. Percorso completo del file della Guida in cui sono disponibili informazioni sull'errore. Se omessa, viene utilizzato il nome completo dell'unità, del percorso e del file della Guida di Visual Basic.
- HelpContext
- Object
facoltativo. ID di contesto che identifica un argomento di HelpFile
contenente informazioni sull'errore. Se omessa, viene utilizzato, se esistente, l'ID di contesto del file della Guida di Visual Basic relativo all'errore corrispondente alla proprietà Number
.
Esempio
In questo esempio viene utilizzato il Err
metodo dell'oggetto Raise
per generare un errore all'interno di una funzione scritta in Visual Basic. La funzione chiamante può rilevare 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 sono facoltativi Number
. Se si omettono argomenti facoltativi e le impostazioni delle proprietà dell'oggetto contengono valori che non sono stati cancellati, tali valori fungono da valori per l'errore Err
.
Poiché l'oggetto Err
fornisce informazioni più dettagliate 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.