ErrObject.Number Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Retourne ou définit une valeur numérique spécifiant une erreur. En lecture/écriture.
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
Valeur de propriété
Retourne ou définit une valeur numérique spécifiant une erreur. En lecture/écriture.
Exceptions
Number
est supérieur à 65535.
Exemples
Cet exemple illustre une utilisation classique de la Number
propriété dans une routine de gestion des erreurs.
' 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
Cet exemple utilise la méthode de Raise
l’objet Err
pour générer une erreur d’origine dans une fonction écrite en Visual Basic. La fonction appelante peut intercepter l’erreur et la signaler à l’utilisateur. Notez que la procédure CallingProcedure
compare le type d’informations que vous pouvez dériver d’un Err
objet avec les informations que vous pouvez dériver d’un Exception
objet.
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
Remarques
Tous les Raise
arguments sauf Number
sont facultatifs. Si vous omettez les arguments facultatifs et que les paramètres de propriété de l’objet Err
contiennent des valeurs qui n’ont pas été effacées, ces valeurs servent de valeurs pour votre erreur.
Étant donné que l’objet Err
fournit des informations plus riches que lorsque vous générez des erreurs avec l’instruction Error
, Raise
il est utile pour générer des erreurs lors de l’écriture de modules de classe. Par exemple, avec la Raise
méthode, la source qui a généré l’erreur peut être spécifiée dans la propriété, l’aide Source
en ligne pour l’erreur peut être référencée, et ainsi de suite.
Lorsque vous retournez une erreur définie par l’utilisateur à partir d’un objet, définissez Err.Number
en ajoutant le nombre que vous avez sélectionné comme code d’erreur à la VbObjectError
constante. Par exemple, vous utilisez le code suivant pour renvoyer le nombre 1051 en tant que code d’erreur :
Err.Raise(Number:=vbObjectError + 1051, Source:="SomeClass")