ErrObject.Raise(Int32, Object, Object, Object, Object) Método

Definição

Gera um erro em tempo de execução; pode ser usado em vez da instrução Error .

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. Visual Basic erros estão no intervalo 0-65535; o intervalo 0-512 é reservado para erros do sistema; o intervalo 513-65535 está disponível para erros definidos pelo usuário. Ao definir a Number propriedade como seu próprio código de erro em um módulo de classe, adicione o número do código de erro à vbObjectError constante. Por exemplo, para gerar o número de erro 513, atribua vbObjectError + 513 à Number propriedade.

Source
Object

Optional. String expressão nomeando o objeto ou aplicativo que gerou o erro. Ao definir essa propriedade para um objeto, use o formulário project.class. Se Source não for especificado, a ID do processo do projeto de Visual Basic atual será usada.

Description
Object

Optional. String expressão que descreve o erro. Se não for especificado, o valor na Number propriedade será examinado. Se ele puder ser mapeado para um Visual Basic código de erro em tempo de execução, a cadeia de caracteres que seria retornada pela função Error será usada como a propriedade Description. Se não houver nenhum erro de Visual Basic correspondente à propriedade Number, a mensagem "Erro definido pelo aplicativo ou definido pelo objeto" será usada.

HelpFile
Object

Optional. O caminho completamente qualificado para o ficheiro de Ajuda no qual pode ser encontrada ajuda para este erro. Se não for especificado, o Visual Basic utiliza a unidade, o caminho e o nome de ficheiro completamente qualificados do ficheiro de Ajuda do Visual Basic.

HelpContext
Object

Optional. A ID de contexto que identifica um tópico que HelpFile fornece ajuda para o erro. Se omitida, a ID de contexto do arquivo de ajuda Visual Basic para o erro correspondente à propriedade Number será usada, se existir.

Exemplos

Este exemplo usa 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 capturar o erro e denunciá-lo ao usuário com 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

Comentários

Raise Todos os argumentos, exceto Number os opcionais, são opcionais. Se você omitir argumentos opcionais e as configurações de propriedade do Err objeto contiverem valores que não foram limpos, esses valores servirão como valores para o erro.

Como o Err objeto fornece informações mais avançadas do que quando você 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 origem que gerou o erro pode ser especificada na Source propriedade, a Ajuda online para o erro pode ser referenciada e assim por diante.

Aplica-se a

Confira também