ErrObject.Raise(Int32, Object, Object, Object, Object) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Generuje chybu za běhu; lze použít místo příkazu Error .
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)
Parametry
- Number
- Int32
Required.
Long celé číslo, které identifikuje povahu chyby. Visual Basic chyby jsou v rozsahu 0–65535; rozsah 0–512 je vyhrazený pro systémové chyby. Rozsah 513–65535 je k dispozici pro uživatelem definované chyby. Při nastavování Number vlastnosti na vlastní kód chyby v modulu třídy přidáte číslo kódu chyby do konstanty vbObjectError . Pokud chcete například vygenerovat chybu číslo 513, přiřaďte vbObjectError + 513 k Number vlastnosti.
- Source
- Object
Optional.
String výraz pojmenování objektu nebo aplikace, která vygenerovala chybu. Při nastavování této vlastnosti pro objekt použijte formulář project.class. Pokud není zadán Source, použije se ID procesu aktuálního projektu Visual Basic.
- Description
- Object
Optional.
String výraz popisující chybu. Pokud není zadáno, je zkoumána hodnota v Number vlastnosti. Pokud je možné ji mapovat na kód chyby za běhu Visual Basic, řetězec vrácený funkcí Error se použije jako vlastnost Description. Pokud neexistuje žádná Visual Basic chyba odpovídající vlastnosti Number, použije se zpráva "Application-defined or object-defined error" (Chyba definovaná aplikací nebo objektem).
- HelpFile
- Object
Optional. Plně kvalifikovaná cesta k souboru nápovědy, ve kterém najdete nápovědu k této chybě. Pokud není zadaný, Visual Basic použije plně kvalifikovaný název jednotky, cesty a souboru souboru Visual Basic nápovědy.
- HelpContext
- Object
Optional. ID kontextu identifikující téma v rámci HelpFile , které poskytuje nápovědu k chybě. Pokud tuto hodnotu vynecháte, použije se id kontextu souboru nápovědy Visual Basic pro chybu odpovídající vlastnosti Number, pokud existuje.
Příklady
Tento příklad používá metodu Err objektu Raise k vygenerování chyby v rámci funkce napsané v Visual Basic. Volající funkce může chybu zachytit a nahlásit ji uživateli pomocí pole se zprávou.
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
Poznámky
Raise Všechny argumenty s výjimkou Number jsou volitelné. Pokud vynecháte volitelné argumenty a nastavení vlastnosti objektu Err obsahuje hodnoty, které nebyly vymazány, tyto hodnoty slouží jako hodnoty pro vaši chybu.
Vzhledem k tomu, že Err objekt poskytuje bohatší informace než při generování chyb pomocí Error příkazu, Raise je užitečné při generování chyb při psaní modulů třídy. Například s metodou Raise , zdroj, který vygeneroval chybu lze zadat ve Source vlastnosti, online nápověda k chybě lze odkazovat atd.