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

Home > VBA > Tratamento de Erros



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







Conteúdo Correspondente:




eBook Word 2010 VBA

© 2013 Tutoriais Word - Todos os direitos reservados