ErrObject.Number Propriété

Définition

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")

S’applique à

Voir aussi