Error – Tratar Erros

Descrição:

A função Error em VBA (Visual Basic for Applications) é utilizada para obter informações detalhadas sobre o último erro que ocorreu no código. Ela retorna um objeto do tipo Err que contém diversas propriedades, como o número do erro (Number), a descrição do erro (Description), o nome do procedimento onde o erro ocorreu (Source), entre outras.
Esta função é especialmente útil em operações de tratamento de erros, permitindo que o código reaja de forma apropriada quando algo inesperado acontece. Ao utilizar Error, é possível identificar a natureza do erro e tomar decisões com base nessa informação.
Por exemplo, você pode usar a função Error em conjunto com a estrutura On Error para lidar com situações onde o código pode falhar. Ao verificar o número do erro, você pode decidir se deve abortar o procedimento, exibir uma mensagem ao usuário, ou tomar outras medidas corretivas.
É importante lembrar de usar Err.Clear após tratar um erro, para limpar o objeto Err e evitar que informações de erros anteriores interfiram na execução do código.
Em resumo, a função Error é uma ferramenta valiosa em VBA para lidar com situações de erro de forma eficaz, permitindo que o código tome decisões apropriadas com base nas informações do erro ocorrido.
Exemplos:


Sub Exemplo1()
    On Error Resume Next
    Dim resultado As Double
    
    ' Tenta fazer uma divisão por zero
    resultado = 10 / 0
    
    ' Verifica se ocorreu um erro
    If Err.Number <> 0 Then
        MsgBox "Ocorreu um erro: " & Err.Description
        Err.Clear ' Limpa o objeto de erro
    End If
End Sub
    

Neste exemplo, a função Error é usada para verificar se ocorreu algum erro após uma operação de divisão por zero.


Sub Exemplo2()
    On Error Resume Next
    Dim arquivo As Integer
    
    ' Tenta abrir um arquivo que não existe
    arquivo = FreeFile
    Open "arquivo_inexistente.txt" For Input As arquivo
    
    ' Verifica se ocorreu um erro
    If Err.Number <> 0 Then
        MsgBox "Ocorreu um erro: " & Err.Description
        Err.Clear ' Limpa o objeto de erro
    End If
    
    ' Fecha o arquivo (se foi aberto com sucesso)
    If arquivo > 0 Then
        Close arquivo
    End If
End Sub
    

Neste exemplo, a função Error é usada para lidar com o erro ao tentar abrir um arquivo que não existe.