ErrObject.Number Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Retourneert of stelt een numerieke waarde in die een fout opgeeft. Lezen/schrijven.
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
Waarde van eigenschap
Retourneert of stelt een numerieke waarde in die een fout opgeeft. Lezen/schrijven.
Uitzonderingen
Number is groter dan 65535.
Voorbeelden
In dit voorbeeld ziet u een typisch gebruik van de Number eigenschap in een routine voor foutafhandeling.
' 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 dit voorbeeld wordt de methode Err /> van het object Raise gebruikt om een oorspronkelijke fout te genereren binnen een functie die is geschreven in Visual Basic. De aanroepende functie kan de fout ondervangen en rapporteren aan de gebruiker. U ziet dat de procedure CallingProcedure het type informatie contrasteert dat u kunt afleiden van een Err object met de informatie die u kunt afleiden van een Exception object.
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
Opmerkingen
Alle argumenten behalve Number zijn Raise optioneel. Als u optionele argumenten weglaat en de eigenschapsinstellingen van het Err object waarden bevatten die niet zijn gewist, dienen deze waarden als de waarden voor uw fout.
Omdat het Err object uitgebreidere informatie geeft dan wanneer u fouten genereert met de Error instructie, Raise is het handig voor het genereren van fouten bij het schrijven van klassemodules. Met de Raise methode kan bijvoorbeeld naar de bron die de fout heeft gegenereerd, worden opgegeven in de Source eigenschap, online Help voor de fout kan worden verwezen, enzovoort.
Wanneer u een door de gebruiker gedefinieerde fout van een object retourneert, stelt Err.Number u dit in door het nummer dat u hebt geselecteerd als foutcode toe te voegen aan de VbObjectError constante. U gebruikt bijvoorbeeld de volgende code om het getal 1051 als foutcode te retourneren:
Err.Raise(Number:=vbObjectError + 1051, Source:="SomeClass")