Sobes.tech
Intern

O que é uma exceção?

sobes.tech IA

Resposta da IA

Uma exceção é um evento que interrompe o fluxo normal de execução de um programa. Ocorre devido a um erro ou uma situação inesperada.

As exceções são:

  • Controladas (Checked): requerem tratamento ou declaração na assinatura do método (por exemplo, ao trabalhar com ficheiros ou rede).
  • Não controladas (Unchecked) ou Exceções em tempo de execução (RuntimeException): geralmente indicam erros na lógica do programa e não requerem tratamento explícito (como divisão por zero ou acesso fora dos limites do matriz).
  • Erros (Errors): representam problemas graves dos quais normalmente o programa não deve recuperar-se (por exemplo, falta de memória).

O mecanismo de tratamento de exceções permite separar o código que trata erros do fluxo lógico principal do programa. Isto melhora a legibilidade e a manutenção do código.

Para tratar exceções, utilizam-se blocos try-catch-finally (em Java, C#) ou construções semelhantes (try-except-finally em Python).

try {
    // Código que pode gerar uma exceção
    int result = 10 / 0; // ArithmeticException
} catch (ArithmeticException e) {
    // Tratamento de uma exceção específica
    System.err.println("Erro: " + e.getMessage());
} catch (Exception e) {
    // Tratamento de qualquer outra exceção
    System.err.println("Ocorreu um erro inesperado");
} finally {
    // Código que é executado independentemente de ter ocorrido uma exceção
    System.out.println("Bloco finally executado");
}