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
Povinná hodnota. Long
celé číslo, které identifikuje povahu chyby. Chyby jazyka Visual Basic 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 do konstanty vbObjectError
číslo kódu chyby. Pokud chcete například vygenerovat číslo chyby 513, přiřaďte vbObjectError + 513
vlastnost Number
.
- Source
- Object
Nepovinný parametr. String
výraz pojmenování objektu nebo aplikace, která vygenerovala chybu. Při nastavování této vlastnosti objektu použijte formát project
.class
. Pokud Source
není zadaný, použije se ID procesu aktuálního projektu jazyka Visual Basic.
- Description
- Object
Nepovinný parametr. String
výraz popisující chybu. Pokud není zadáno, prověří Number
se hodnota ve vlastnosti . Pokud lze namapovat na kód chyby za běhu jazyka Visual Basic, řetězec vrácený Error
funkcí se použije jako Description
vlastnost . Pokud neexistuje žádná chyba jazyka Visual Basic odpovídající Number
vlastnosti, použije se zpráva "Chyba definovaná aplikací nebo objektem definovaná chyba".
- HelpFile
- Object
Nepovinný parametr. Plně kvalifikovaná cesta k souboru nápovědy, ve kterém lze najít nápovědu k této chybě. Není-li zadán, jazyk Visual Basic použije plně kvalifikovanou jednotku, cestu a název souboru nápovědy jazyka Visual Basic.
- HelpContext
- Object
Nepovinný parametr. ID kontextu identifikující téma v rámci HelpFile
, které poskytuje nápovědu k chybě. Pokud je vynechán, použije se ID kontextu souboru nápovědy jazyka Visual Basic pro chybu odpovídající Number
vlastnosti , pokud existuje.
Příklady
Tento příklad používá metodu objektu Err
Raise
k vygenerování chyby v rámci funkce napsané v jazyce Visual Basic. Volající funkce může chybu zachytit a ohlásit ji uživateli pomocí okna 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
Všechny argumenty Raise
s výjimkou Number
jsou volitelné. Pokud vynecháte volitelné argumenty a nastavení vlastností objektu Err
obsahuje hodnoty, které nebyly vymazány, budou tyto hodnoty sloužit 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é pro generování chyb při psaní modulů třídy. Například pomocí Raise
metody lze ve Source
vlastnosti zadat zdroj, který chybu vygeneroval, odkazovat na online nápovědu k chybě atd.