DEV Community

Exceções Internas da Linguagem Java

Classes de Exceção em java.lang:

  • Java define várias classes de exceção no pacote java.lang, muitas delas são subclasses de RuntimeException.
  • Exceções em java.lang são importadas automaticamente em qualquer programa Java.

Exceções Não Verificadas (Unchecked Exceptions):

  • Incluem erros comuns, como NullPointerException, ArrayIndexOutOfBoundsException e ArithmeticException.
  • Não precisam ser declaradas na cláusula throws dos métodos, pois o compilador não exige tratamento específico para essas exceções.

Exemplos de exceções não verificadas:
ArithmeticException: erro de cálculo, como divisão por zero.
NullPointerException: uso de referência nula.
ClassCastException: tentativa de conversão inválida de classe.
NumberFormatException: erro na conversão de String para um número.

Exceções Verificadas (Checked Exceptions):
Necessitam estar listadas em throws caso o método possa lançá-las.
São obrigatórias para exceções que o compilador exige o tratamento, pois não podem ser ignoradas.

Exemplos de exceções verificadas:
ClassNotFoundException: classe não encontrada.
IllegalAccessException: acesso negado a uma classe.
InterruptedException: interrupção de uma thread por outra thread.
NoSuchMethodException: método solicitado não existe.

Exceções Encadeadas (Chained Exceptions):
Introduzidas no Java 1.4 para especificar uma exceção como causa de outra.
Permitem associar uma exceção original à exceção gerada, útil em cenários com camadas de erros.

Construtores para exceções encadeadas:
Throwable(Throwable cause): define a exceção causadora.
Throwable(String msg, Throwable cause): permite adicionar uma mensagem descritiva.

Métodos:
getCause(): retorna a causa da exceção atual.
initCause(Throwable cause): define a causa após a criação da exceção.

Considerações sobre Exceções Encadeadas:
Úteis quando o conhecimento da causa raiz ajuda a entender o erro.
Nem todo programa precisa usar exceções encadeadas, mas elas oferecem uma solução elegante para cenários complexos.

Image description

Image description

Image description

Top comments (0)