O que é e como funciona a classe Exception em Java?
A classe Exception em Java faz parte da hierarquia de tratamento de erros da linguagem e é usada para representar exceções verificadas (checked exceptions), que precisam ser obrigatoriamente tratadas pelo desenvolvedor.
1. Hierarquia da Classe Exception
A classe Exception herda de Throwable e possui diversas subclasses para diferentes tipos de erro.
Throwable
├── Exception (Checked)
│ ├── IOException
│ ├── SQLException
│ ├── TimeoutException
│ ├── ...
├── RuntimeException (Unchecked)
│ ├── NullPointerException
│ ├── ArithmeticException
│ ├── IndexOutOfBoundsException
│ ├── ...
2. Diferença Entre Exception e RuntimeException
| Característica | Exception (Verificada) |
RuntimeException (Não Verificada) |
|---|---|---|
| Tratamento obrigatório? | Sim | Não |
| Exemplo | IOException, SQLException |
NullPointerException, ArithmeticException |
| Quando usar? | Quando o erro pode ser previsto e tratado | Quando o erro ocorre por falha na lógica do código |
3. Como Lançar e Capturar uma Exceção (try-catch)
Quando um método pode gerar uma exceção, é necessário tratá-la com try-catch.
import java.io.*;
public class ExemploException {
public static void main(String[] args) {
try {
FileReader arquivo = new FileReader("arquivo.txt");
} catch (FileNotFoundException e) {
System.out.println("Erro: Arquivo não encontrado.");
}
}
}
Explicação: O código acima tenta abrir um arquivo, mas se ele não existir, lançará uma
FileNotFoundException, que precisa ser tratada.
4. Declarando Exceções com throws
Se um método pode gerar uma exceção, podemos declarar isso na assinatura do método usando throws.
import java.io.*;
public class ExemploThrows {
public void abrirArquivo() throws IOException {
FileReader arquivo = new FileReader("arquivo.txt");
}
}
Explicação: Aqui, a responsabilidade de tratar a
IOExceptioné do código que chamarabrirArquivo().
5. Criando uma Exceção Personalizada
Podemos criar nossa própria exceção herdando de Exception.
class SaldoInsuficienteException extends Exception {
public SaldoInsuficienteException(String mensagem) {
super(mensagem);
}
}
Conclusão
A classe Exception é a base das exceções verificadas em Java e deve ser usada para tratar erros previsíveis. Saber utilizá-la corretamente melhora a confiabilidade do código e evita falhas inesperadas.
Por que a classe Exception é fundamental para o tratamento de erros em Java?
A classe Exception é essencial para o tratamento de erros em Java. Em aplicações corporativas, como sistemas bancários, erros inesperados precisam ser tratados para evitar problemas em transações financeiras. Saber quando e como usar Exception ajuda a manter um código seguro e confiável.
Algumas aplicações:
- Tratamento de erros ao acessar arquivos e banco de dados
- Garantia de estabilidade em aplicações críticas
- Evitar falhas inesperadas em sistemas financeiros
- Facilidade na manutenção e depuração de código
Dicas para quem está começando
- Use
try-catchpara tratar exceções verificadas - Declare exceções com
throwsquando for necessário - Crie exceções personalizadas para regras de negócio específicas
- Evite capturar exceções genéricas como
Exception - Registre logs para facilitar a depuração de erros
Rodrigo Farias
Desenvolvedor Java focado em aplicações corporativas e microsserviços.
Mais sobre o autor