ErrObject.Number Proprietà
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.
Restituisce o imposta un valore numerico che specifica un errore. Proprietà di lettura/scrittura.
public:
property int Number { int get(); void set(int value); };
public int Number { get; set; }
member this.Number : int with get, set
Public Property Number As Integer
Valore della proprietà
Restituisce o imposta un valore numerico che specifica un errore. Proprietà di lettura/scrittura.
Eccezioni
Number
è maggiore di 65535.
Esempio
Questo esempio illustra un uso tipico della Number
proprietà in una routine di gestione degli errori.
' Typical use of Number property.
Sub test()
On Error GoTo out
Dim x, y As Integer
x = 1 / y ' Create division by zero error.
Exit Sub
out:
MsgBox(Err.Number)
MsgBox(Err.Description)
' Check for division by zero error.
If Err.Number = 11 Then
y = y + 1
End If
Resume Next
End Sub
In questo esempio viene usato il Err
metodo dell'oggetto Raise
per generare un errore originale all'interno di una funzione scritta in Visual Basic. La funzione chiamante può rilevare l'errore e segnalarlo all'utente. Si noti che la procedura CallingProcedure
contrasta il tipo di informazioni che è possibile derivare da un oggetto con le informazioni che è possibile derivare da un Err
Exception
oggetto.
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 contengono valori che non sono stati cancellati, questi valori fungono da valori per l'errore Err
.
Poiché l'oggetto Err
fornisce informazioni più avanzate 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 metodo, l'origine Raise
che ha generato l'errore può essere specificata nella Source
proprietà, è possibile fare riferimento alla Guida online per l'errore e così via.
Quando si restituisce un errore definito dall'utente da un oggetto, impostare Err.Number
aggiungendo il numero selezionato come codice di errore alla VbObjectError
costante. Ad esempio, si usa il codice seguente per restituire il numero 1051 come codice di errore:
Err.Raise(Number:=vbObjectError + 1051, Source:="SomeClass")