Do Básico ao Avançado
Home  Tutoriais  Artigos  Contato

Tratamento de Erros - VBA

Embora seja tomado todo cuidado para evitar erros durante a execução dos códigos, acabamos sempre nos deparando com alguns erros.

O VBA, assim como outras linguagens de programação, possuem recursos que permitem identificar os erros e controlar o fluxo de execução do código.

Tipos de Erros

No tempo da compilação: caracterizados por falhas na sintaxe (falta de aspas, parênteses, pontos, vírgulas, etc).

No tempo da execução: ocasionados pelas tentativas de executar uma operação inválida, por exemplo, uma referência a um arquivo excluído ou inexistente.

Erros lógicos: quando resultados incorretos são produzidos pelo aplicativo.

Respostas aos erros

Todo procedimento que provoca um erro inclui uma instrução On Error. A instrução On Error ativa uma rotina de tratamento de erros e especifica o local da rotina dentro de um procedimento; também pode ser usado para desativar uma rotina de tratamento de erros.

Em uma rotina, quando o erro ocorrido é identificado, uma mensagem é exibida ao usuário.

Instrução/Definição

On Error GoTo Linha - Em caso de erro, vá para a linha que ativará a rotina de gerenciamento de erros.

On Error Resume Next - Especifica que, quando ocorre um erro de tempo de execução, controle vai para a declaração imediatamente seguinte a instrução em que ocorreu o erro e continua de execução a partir desse ponto.

On Error GoTo 0 - Desativa o tratamento de erros ativado no procedimento atual.

Para sair, é preciso dar os comandos Resume ou Exit, sendo que o primeiro retorna o controle do programa para o procedimento principal e o segundo sai do procedimento.

Observe algumas sintaxes de tratamento de erros.

Saindo do Procedimento:

Sub exemplo( )
On Error GoToTrataErro

Instrução…

TrataErro:
Exit Sub
End Sub


Sai do Procedimento e exibe a descrição do erro:

Private Sub cmdok_Click()
On Error GoTo cmdok_Click_Err

Instruções…

cmdok_Click_Fim:
Exit Sub
cmdok_Click_Err:
MsgBox "Erro n. " & Err.Number & " - " & Err.Description
Resume cmdok_Click_Fim
End Sub


Gostou? Se quiser mais eu tenho um e-Book sobre VBA que você pode se interessar.
Confira aqui




Formação Pacote Office



eBook Word 2010 VBA

Política de Privacidade  |   © 2013 Tutoriais Word - Todos os direitos reservados