ErrObject.Raise(Int32, Object, Object, Object, Object) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Gera um erro em tempo de execução; pode ser usado em vez da Error afirmação.
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)
Parâmetros
- Number
- Int32
Required.
Long inteiro que identifica a natureza do erro. Os erros do Visual Basic estão no intervalo 0-65535; o intervalo 0-512 está reservado para erros do sistema; o intervalo 513-65535 está disponível para erros definidos pelo utilizador. Ao definir a Number propriedade para o seu próprio código de erro num módulo de classe, adiciona o número do código de erro à vbObjectError constante. Por exemplo, para gerar o erro número 513, atribui vbObjectError + 513 à Number propriedade.
- Source
- Object
Optional.
String expressão que nomeia o objeto ou aplicação que gerou o erro. Ao definir esta propriedade para um objeto, use a forma project.class. Se Source não for especificado, utiliza-se o ID do processo do projeto Visual Basic atual.
- Description
- Object
Optional.
String expressão que descreve o erro. Se não especificado, o valor da Number propriedade é analisado. Se puder ser mapeada para um código de erro em tempo de execução Visual Basic, a cadeia que seria devolvida pela função Error é usada como propriedade Description. Se não houver erro de Visual Basic correspondente à propriedade Number, utiliza-se a mensagem "Erro definido pela aplicação ou definido por objeto".
- HelpFile
- Object
Optional. O caminho totalmente qualificado para o ficheiro de Ajuda onde a ajuda sobre este erro pode ser encontrada. Se não especificado, o Visual Basic utiliza o disco totalmente qualificado, o caminho e o nome do ficheiro de Ajuda do Visual Basic.
- HelpContext
- Object
Optional. O ID de contexto que identifica um tópico e HelpFile que ajuda para o erro. Se omitido, o ID de contexto do ficheiro de ajuda Visual Basic para o erro correspondente à propriedade Number é utilizado, caso exista.
Exemplos
Este exemplo utiliza o método Raise do objeto Err para gerar um erro dentro de uma função escrita em Visual Basic. A função de chamada pode detetar o erro e reportá-lo ao utilizador através de uma caixa de mensagem.
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
Observações
Todos os Raise argumentos, exceto Number os opcionais, são opcionais. Se omitir argumentos opcionais, e as definições de propriedades do Err objeto conterem valores que não foram eliminados, esses valores servem como valores para o seu erro.
Como o Err objeto fornece informação mais rica do que quando gera erros com a Error instrução, Raise é útil para gerar erros ao escrever módulos de classe. Por exemplo, com o Raise método, a fonte que gerou o erro pode ser especificada na Source propriedade, a Ajuda online para o erro pode ser referenciada, e assim sucessivamente.