Skip to content

Quais são as diferentes maneiras de lidar com erros no Visual Basic: usando em caso de erro (exemplo)

7 de junho de 2021

Pode ocorrer um erro em uma aplicação, independente do motivo, gostaríamos de saber como resolvê-lo.

  • Que no momento em que o App é executado, alguma condição causa um erro no código. Por exemplo, ao abrir um local que não existe mais.
  • Que na lógica do código há alguns erro de sintaxe que impede o Excel de fazer o que pretende. Pode ser porque você se esqueceu de fechar uma cláusula, ou porque se referiu a uma função ou a um elemento que não existe mais, por exemplo, um nome ou objeto.

Se o código não incluir o tratamento de erros, o Visual Basic interromperá a execução do programa e exibirá uma mensagem de erro quando ocorrer um erro no código.

Sempre que a declaração de erro sai no Visual Basic, é necessário usar alguma instrução de tratamento de erros ou tratar erros em nosso código, porque caso outro usuário a use, eles não saberão o que fazer. A seguir você aprenderá quais são as diferentes maneiras de lidar com erros no Visual Basic usando a instrução On Error.

Importância de estabelecer uma rotina de tratamento de erros

Muitos dos problemas podem ser antecipados incluindo a rotina de tratamento de erros em seu código para corrigir quaisquer erros que possam ocorrer. Você conseguirá isso se familiarizando com o uso, funções, propriedades e métodos do VBA, a fim de antecipar o tratamento de erros.

Quando o tratamento de erros é adicionado ao procedimento do Visual Basic, a execução é movida para outra posição dentro do código, em direção à posição que trata o erro.

Ou seja, você deve colocar uma rotina no código do Visual Basic, ao encontrar o erro, ele irá procurar a instrução que trata o erro, localizando-se nela.

Você deve habilitar o tratamento de erros usando a instrução On Error. O que ele faz é direcionar a execução em caso de erro para a sentença que trata o erro. Se você pular esta etapa, quando o erro ocorrer, o Visual Basic interromperá a execução e mostrará uma mensagem com a opção de terminar ou depurar.

Lembre-se de que, para executar você mesmo o tratamento de erros, é necessário desabilitar as atualizações automáticas do Microsoft Office. A declaração On error ativa ou desativa uma rotina de tratamento de erros, esta declaração On error tem três formas:

  1. On Error Resume Next.
  2. Em caso de erro, vá para a etiqueta.
  3. Em Erro Vá TTo 0

Funções das três formas no erro

  • A instrução On Error Resume Next pule a linha que causa o erro. Às vezes, essa não é a melhor opção, pois praticamente não corrige o problema.
  • A instrução Em caso de erro, vá para Hashtag ativa uma rotina de tratamento de erros que começa na linha em que a instrução começa. Anteriormente, temos que habilitá-lo colocando On Error Go to e o nome do rótulo acima da instrução que está nos dando o erro.
  • Quando o manipulador de erros está ativo e o erro ocorre, a execução irá para a linha especificada na tag. É importante colocar “Exit Sub” antes da mensagem que você registrou para que, quando a mensagem de erro aparecer e você aceitá-la, você possa continuar.
  • Em caso de erro, vá para 0. Esta instrução desativa o tratamento de erros dentro do procedimento. Se você tiver mais de uma instrução sobre tratamento de erros e decidir que não deseja que nada seja feito; coloque a instrução On Error Go To 0. Neste caso, o Visual Basic mostrará a janela de erro e lhe dará a opção de depurar ou finalizar.

Todos os erros que ocorrem no seu trabalho devem ser tratados, assim será mais fácil e produtivo trabalhar no aplicativo que você utiliza. Levando isso em conta, o melhor é antecipar a maioria dos erros possíveis para indicá-lo em seus tratamentos.

alerta de erro

Recomendamos que você mantenha um registro de todos os erros para depuração posterior do código. Torne-se um profissional resolvendo esses erros irritantese desfrute de uma execução agradável de aplicativos populares do Microsoft Office, e você também pode criar seu código e restringi-lo com o livro de macros do Visual Basic.