Compartilhar via


Propriedade Number

Retorna ou define um valor numérico especificando um erro. O número é a propriedade padrão do objeto Err . Leitura/gravação.

Comentários

Ao retornar um erro definido pelo usuário de um objeto, defina Err.Number adicionando o número selecionado como um código de erro à constante vbObjectError . Por exemplo, você usa o seguinte código para retornar o número 1051 como um código de erro:

Err.Raise Number := vbObjectError + 1051, Source := "SomeClass"

Exemplo

O primeiro exemplo ilustra um uso típico da propriedade Number em uma rotina de tratamento de erros. O segundo exemplo examina a propriedade Number do objeto Err para determinar se um erro retornado por um objeto de Automação foi definido pelo objeto ou se ele foi mapeado para um erro definido pelo Visual Basic.

Observe que o vbObjectError constante é um número negativo muito grande que um objeto adiciona ao seu próprio código de erro para indicar que o erro é definido pelo servidor. Portanto, subtraí-lo de Err.Number tira-o do resultado.

Se o erro for definido pelo objeto, o número base será deixado em MyError, que é exibido em uma caixa de mensagem junto com a origem original do erro. Se Err.Number representar um erro do Visual Basic, o número de erro do Visual Basic será exibido na caixa de mensagens.

' Typical use of Number property
Sub test()
    On Error GoTo out
    
    Dim x, y
    x = 1 / y    ' Create division by zero error
    Exit Sub
    out:
    MsgBox Err.Number
    MsgBox Err.Description
    ' Check for division by zero error
    If Err.Number = 11 Then
        y = y + 1
    End If
    Resume
End Sub
' Using Number property with an error from an 
' Automation object
Dim MyError, Msg
' First, strip off the constant added by the object to indicate one
' of its own errors.
MyError = Err.Number - vbObjectError
' If you subtract the vbObjectError constant, and the number is still 
' in the range 0-65,535, it is an object-defined error code.
If MyError > 0 And MyError < 65535 Then
    Msg = "The object you accessed assigned this number to the error: " _
             & MyError & ". The originator of the error was: " _
            & Err.Source & ". Press F1 to see originator's Help topic."
' Otherwise it is a Visual Basic error number.
Else
    Msg = "This error (# " & Err.Number & ") is a Visual Basic error" & _
            " number. Press Help button or F1 for the Visual Basic Help" _
            & " topic for this error."
End If
    MsgBox Msg, , "Object Error", Err.HelpFile, Err.HelpContext

Confira também

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.