Negocio

O que é uma exceção não tratada?

Definição de exceção não tratada

Imagine que você está assistindo ao seu programa de televisão favorito e ele é interrompido por um infomercial não programado. Na programação, uma exceção é um evento não programado em um programa de computador, muito parecido com o anúncio indesejado e extenso. As exceções costumam ser sinônimo de erro porque algo deu errado. Um elemento do código quebrou e agora o programa não funciona.

As linguagens de programação oferecem ferramentas para capturar exceções e, em seguida, exibir um erro ou reiniciar. Nem tudo pode ser antecipado, mas é uma boa prática se preparar para erros o melhor possível. Se você não tem nada para capturar uma determinada exceção, isso é chamado de exceção não tratada .

Antes de prosseguirmos, vamos dar uma olhada em como as exceções funcionam em linguagens de programação.

Exemplos de exceções não tratadas

Lembre-se de que uma exceção é uma interrupção não programada do processamento normal do programa. Quando ocorre um erro, o compilador verifica se há instruções disponíveis para lidar com esse erro. Digamos que uma letra seja colocada em um campo numérico. O compilador pergunta se há alguma maneira de lidar com esse erro. Se houver, esse código é executado. Normalmente, isso significa que algum tipo de aviso é exibido e o programa continua seu caminho.

Se esse método não existir, o compilador desistirá e exibirá um erro de exceção não tratada. É como se o compilador estivesse lhe dizendo ‘Tento pensar, mas nada acontece’.

Os cenários a seguir podem causar uma exceção não tratada:

  • Dividindo por zero
  • Tentando ler / escrever um arquivo que não está lá
  • Tentando acessar um elemento da matriz que não existe
  • Usando o tipo de dados errado
  • Falha ao converter string em número e vice-versa
  • Violação de segurança

Programação e exceções

Lembre-se de que, se puder dar errado, provavelmente dará. Os códigos que tratam de exceções são chamados de tratadores de exceção . Em linguagens como Java, você pode tentar executar algum código e capturar quaisquer exceções que possam surgir. Essas são as palavras-chave Java reais que você usa neste caso. Linguagens como Java permitem que você capture vários tipos de exceção: numérico, string, erros de arquivo, erros de leitura ou gravação, etc.

Pense na tentativa de assistir seu episódio de TV favorito. Se algo der errado (ou seja, uma exceção), coloque seu código de tratamento de erros no bloco catch. Talvez você possa mudar de canal ou sair de casa.

O código tentará cumprir a instrução (assistir ao programa de TV). Mas se encontrar um obstáculo, queremos lidar com essa exceção. Uma exceção não tratada causará frustração e travará nosso programa. Mesmo se tivermos quase certeza de que o programa nunca terminará dividido por zero, pode haver uma pequena chance de que isso aconteça.

Como programadores, precisamos trabalhar duro para evitar interrupções não programadas e exceções não tratadas. Isso pode causar confusão e frustração aos nossos usuários. É claro que não podemos prever tudo, mas podemos fazer o nosso melhor para reduzir a possibilidade de exceções não tratadas.

Resumo da lição

Uma exceção é uma interrupção não programada do serviço em um programa. Se você não tiver nenhum meio de capturar ou interceptar exceções, elas não serão tratadas e causarão falha no programa. Podem ocorrer erros graves se o seu código for dividido por zero ou tentar fazer referência a um valor que não existe. Não podemos ler o futuro e prever todos os erros, mas podemos pelo menos construir um código um pouco mais sólido. Usando a lógica de tentativa e captura em nosso código, podemos tentar interceptar ou capturar erros e tratá-los normalmente. Esses métodos são chamados de manipuladores de exceção porque reduzem as dores de cabeça resultantes de exceções não tratadas.