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);
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

Obrigatórios. Long inteiro que identifica a natureza do erro. Os erros do Visual Basic 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 propriedade Number com seu próprio código de erro em um módulo de classe, você adiciona seu número de código de erro à constante vbObjectError. Por exemplo, para gerar o erro número 513, atribua vbObjectError + 513 à propriedade Number.

Source
Object

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

Description
Object

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

HelpFile
Object

Opcional. O caminho totalmente qualificado para o arquivo de Ajuda no qual se pode encontrar ajuda sobre este erro. Se não for especificado, o Visual Basic usará a unidade totalmente qualificada, o caminho e o nome do arquivo de Ajuda do Visual Basic.

HelpContext
Object

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

Exemplos

Este exemplo usa o Err método do Raise objeto para gerar um erro dentro de uma função escrita no 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 , são opcionais. Se você omitir argumentos opcionais e as configurações de propriedade do objeto contiverem valores que não foram limpos, esses valores servirão como valores para o Err 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