Não funciona! Localizando e eliminando erros em tempo de execução

Nesta lição, você aprenderá como depurar seu programa e corrigir erros em tempo de execução.

Como você aprendeu anteriormente, erros em tempo de execução ocorrem quando o programa tenta realizar uma operação que é impossível concluir.Quando ocorre um erro em tempo de execução, o programa para e uma mensagem de erro é exibida, você precisa depurar o erro e corrigí-lo antes que o programa possa continuar.

Localizando e eliminando erros em tempo de execução

A maioria dos erros em tempo de execução ocorrem porque você cometeu erro em seu código, por exemplo, esquecendo de atribuir um valor a uma variável antes de usá-la.Quando você executa o programa e o erro é descoberto, o programa irá parar e a caixa de diálogo Exception Assistant é exibida na janela Code Editor.Quando isso ocorre, o programa está no modo Break,o modo no qual a depuração é feita.

A caixa de diálogo Exception Assistant contém uma descrição do erro, bem como dicas que sugerem a causa do problema.Você pode clicar nas dicas de solução de problemas para exibir tópicos da Ajuda para obter mais detalhes.

Você precisará corrigir o erro antes de continuar o programa — para poder fazer isso, você precisa inspecionar o código para encontrar a causa do erro.Por exemplo, se você suspeitar que ocorreu um erro porque uma variável contém o valor errado, enquanto você estiver ainda em modo de interrupção, você pode usar o IntelliSense para ver o valor da variável.Quando você mantiver o mouse sobre a variável no Editor de códigos, uma dica de ferramenta exibe o valor da variável.Se o valor não for o esperado, examine o código para ver onde o valor foi definido, em seguida, corrija esse código e continue.

Tente-o!

Verificar o valor de uma variável

  1. No menu File, escolha New Project.

  2. No painel Templates, na caixa de diálogo New Project, clique em Windows Application.

  3. Na caixa Name digite RunTimeErrorse clique em OK.

    Abre um novo projeto Windows Forms.

  4. Clique duas vezes no formulário para abrir o Editor de Código.

  5. No manipulador de eventos Form_Load, adicione o código a seguir.

    Dim miles As Integer = 0
    Dim hours As Integer = 0
    Dim speed As Integer = 0
    
    miles = 55
    speed = miles / hours
    MsgBox(CStr(speed) & " miles per hour")
    
  6. Pressione F5 para executar a página.Uma caixa de diálogo Exception Assistant é mostrada com a mensagem "OverflowException was unhandled".

    Uma linha pontilhada da caixa de diálogo até seu arquivo de código mostra qual linha de código causou o erro.

    Observe que a primeira dica de solução de problemas em Exception Assistant sugere que você deve certificar-se de que não está dividindo por zero.

  7. Mova o mouse sobre a variável miles e mantenha ele lá por alguns segundos.Você deve ver uma dica de ferramenta que é lida como "miles 55".

  8. Agora mova seu mouse sobre a variável hours — a dica de ferramenta deve ser "hours 0".

    Devido ao fato de você não poder dividir por zero e de que o valor de hours é zero, você encontrou a causa do erro — não atualizou o valor de hours.

  9. Adicione a seguinte linha de código acima da linha miles = 55.

    hours = 2
    
  10. Clique na seta amarela na margem esquerda do código e arraste-a para a linha hours = 2.

    Isso permite que o programa continue a partir dessa linha, e não da linha que contém o erro.Isso é necessário para executar a nova linha de código que você acabou de adicionar, de modo que sua correção de erro seja reconhecida.

  11. Pressione F5 para continuar a execução do programa.Um caixa de diálogo aparecerá, exibindo "28 miles per hour".

Próximas etapas

Nesta lição, você aprendeu como localizar e corrigir erros em tempo de execução.Na próxima lição, você aprenderá sobre o terceiro tipo de erro de programação — os erros lógicos.Você pode explorar técnicas mais avançadas de depuração em Examinar mais detalhadamente: O que se... Testando o código na janela Immediate e em seguida, proceder para a lição de Erros de lógica.

Próxima lição: O que? Não era para fazer isso! Localizando erros de lógica

Consulte também

Tarefas

Localização e Obtendo RID de erros do compilador

Conhece os bugs: Três tipos de erros de programação

Localizando erros: Introdução à depuração do Visual Basic