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-catch
para tratar exceções verificadas - Declare exceções com
throws
quando 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
Contribuições de Rodrigo Farias