Tratamento de exceções e a hierarquia de exceções em Java: Criando exceções customizadas

Capítulo 108

Tempo estimado de leitura: 4 minutos

+ Exercício
Audio Icon

Ouça em áudio

0:00 / 0:00

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.

Continue em nosso aplicativo e ...
  • Ouça o áudio com a tela desligada
  • Ganhe Certificado após a conclusão
  • + de 5000 cursos para você explorar!
ou continue lendo abaixo...
Download App

Baixar o aplicativo

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.

A classe Throwable é de fato a superclasse das exceções em Java, da qual derivam as subclasses Error e Exception. Isso fornece a estrutura básica para a hierarquia de exceções.

Próximo capitúlo

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

Arrow Right Icon
Capa do Ebook gratuito Aprenda programar em Java completo, da lógica de programação ao avançado
45%

Aprenda programar em Java completo, da lógica de programação ao avançado

5

(1)

238 páginas

Baixe o app para ganhar Certificação grátis e ouvir os cursos em background, mesmo com a tela desligada.