17.6 Tratamento de Exceções e a Hierarquia de Exceções em Java

O tratamento de exceções é um aspecto fundamental da programação em Java, pois permite que um programa lide com situações anormais de forma controlada. Uma exceção é um evento que ocorre durante a execução de um programa e que interrompe o fluxo normal das instruções. O Java fornece um robusto sistema de tratamento de exceções que ajuda a criar programas mais confiáveis e fáceis de manter.

Hierarquia de Exceções em Java

Em Java, todas as classes de exceções são descendentes da classe Throwable. A partir dela, existem duas subclasses principais: Error e Exception. Erros são situações raras que não são esperadas para serem capturadas ou tratadas pelo programa, como problemas na máquina virtual Java (JVM). Exceções são condições que um aplicativo pode querer capturar.

As exceções em Java são categorizadas em duas grandes grupos:

  • Checked Exceptions: São exceções que precisam ser tratadas ou declaradas no código. Elas são verificadas em tempo de compilação. Exemplos incluem IOException e SQLException.
  • Unchecked Exceptions: São exceções que não precisam ser necessariamente tratadas ou declaradas. Elas são verificadas em tempo de execução. Exemplos incluem RuntimeException, NullPointerException e ArithmeticException.

O tratamento de exceções em Java é feito principalmente através de quatro palavras-chave: try, catch, finally e throw.

Criando Exceções Customizadas

Embora o Java forneça muitas classes de exceções que cobrem uma ampla gama de situações de erro, às vezes é necessário criar exceções personalizadas. Isso é feito estendendo a classe Exception ou qualquer uma de suas subclasses.

Para criar uma exceção customizada:

  1. Crie uma nova classe que herda de Exception ou RuntimeException, dependendo se você quer uma checked ou unchecked exception.
  2. Adicione um construtor que aceita uma mensagem de erro como parâmetro e passe essa mensagem para o construtor da classe base.
  3. Opcionalmente, você pode adicionar outros construtores ou métodos conforme necessário para a sua exceção.

Exemplo de uma exceção customizada:


public class CustomException extends Exception {
    public CustomException(String message) {
        super(message);
    }
}

Para lançar essa exceção, você usa a palavra-chave throw:


public void someMethod() throws CustomException {
    if (someCondition) {
        throw new CustomException("Descrição do erro");
    }
}

Para capturar essa exceção, você pode usar um bloco try-catch:


try {
    someMethod();
} catch (CustomException e) {
    System.out.println(e.getMessage());
}

Boas Práticas no Tratamento de Exceções

Quando se trata de criar e usar exceções personalizadas, há várias boas práticas a serem seguidas:

  • Use exceções personalizadas com parcimônia: Antes de criar uma nova exceção personalizada, considere se uma das exceções padrão do Java pode ser usada.
  • Forneça mensagens de erro informativas: As mensagens de erro devem fornecer detalhes suficientes para que o problema possa ser identificado e resolvido.
  • Documente as exceções: Se um método pode lançar uma exceção personalizada, isso deve ser claramente documentado para que os usuários da classe saibam o que esperar.
  • Não use exceções para controle de fluxo: Exceções devem ser usadas para condições de erro e não como uma forma de controle de fluxo normal do programa.
  • Evite capturar a classe genérica Exception: Isso pode acidentalmente capturar exceções que você não pretendia tratar.

Em resumo, o tratamento de exceções e a criação de exceções customizadas são ferramentas poderosas em Java que ajudam a criar programas robustos e confiáveis. Ao seguir as práticas recomendadas e entender a hierarquia de exceções, os programadores podem escrever código que lida efetivamente com situações inesperadas e melhora a qualidade geral do software.

Agora responda o exercício sobre o conteúdo:

Qual das seguintes afirmações sobre o tratamento de exceções em Java é correta?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

Imagem do artigo Tratamento de exceções e a hierarquia de exceções em Java: Métodos e a cláusula throws

Próxima página do Ebook Gratuito:

109Tratamento de exceções e a hierarquia de exceções em Java: Métodos e a cláusula throws

5 minutos

Ganhe seu Certificado deste Curso Gratuitamente! ao baixar o aplicativo Cursa e ler o ebook por lá. Disponível na Google Play ou App Store!

Disponível no Google Play Disponível no App Store

+ de 6,5 milhões
de alunos

Certificado Gratuito e
Válido em todo o Brasil

48 mil exercícios
gratuitos

4,8/5 classificação
nas lojas de apps

Cursos gratuitos em
vídeo, áudio e texto