ErrObject.Raise(Int32, Object, Object, Object, Object) Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Futásidejű hibát generál; az utasítás helyett Error használható.
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)
Paraméterek
- Number
- Int32
Kötelező.
Long egész szám, amely azonosítja a hiba természetét. Visual Basic hibák a 0–65535 tartományba tartoznak; a 0–512 tartomány rendszerhibákra van fenntartva; az 513–65535 tartomány a felhasználó által meghatározott hibák esetén érhető el. Amikor a tulajdonságot Number saját hibakódra állítja egy osztálymodulban, hozzáadja a hibakód számát az vbObjectError állandóhoz. Ha például az 513-at szeretné generálni, rendelje hozzá vbObjectError + 513 a Number tulajdonsághoz.
- Source
- Object
Optional.
String kifejezés, amely a hibát létrehozó objektumot vagy alkalmazást nevezi el. Ha ezt a tulajdonságot egy objektumhoz állítja be, használja a .project. űrlapotclass. Ha nincs megadva Source, a rendszer az aktuális Visual Basic projekt folyamatazonosítóját használja.
- Description
- Object
Optional.
String kifejezést, amely leírja a hibát. Ha nincs meghatározva, a tulajdonság értéke Number meg lesz vizsgálva. Ha leképezhető egy Visual Basic futásidejű hibakódra, a Error függvény által visszaadott sztring lesz a Description tulajdonság. Ha a Number tulajdonságnak megfelelő Visual Basic hiba nincs, a rendszer az "Alkalmazás által definiált vagy objektum által definiált hiba" üzenetet használja.
- HelpFile
- Object
Optional. A súgófájl teljes elérési útja, amelyben a hiba súgója található. Ha nincs meghatározva, Visual Basic a Visual Basic súgófájl teljes meghajtóját, elérési útját és fájlnevét használja.
- HelpContext
- Object
Optional. A környezeti azonosító egy témakört HelpFile azonosít, amely segítséget nyújt a hibához. Ha nincs megadva, a rendszer a Number tulajdonságnak megfelelő hiba Visual Basic súgófájl-környezetazonosítóját használja, ha létezik.
Példák
Ez a példa a Err objektum Raise metódusát használja egy Visual Basic írt függvényen belüli hiba generálásához. A hívó függvény elkaphatja a hibát, és egy üzenetmezővel jelentheti a felhasználónak.
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
Megjegyzések
Az argumentumok kivétele RaiseNumber nem kötelező. Ha kihagyja az opcionális argumentumokat, és az Err objektum tulajdonságbeállításai nem törölt értékeket tartalmaznak, ezek az értékek szolgálnak a hiba értékeiként.
Mivel az Err objektum több információt ad, mint amikor hibát hoz létre az Error utasítással, Raise hasznos lehet az osztálymodulok írásakor felmerülő hibák generálására. A metódussal Raise például megadhatja a hibát létrehozó forrást a Source tulajdonságban, hivatkozhat a hiba online súgójára, és így tovább.