Tipos de exceções em Java:
Exceções Verificadas: para condições recuperáveis das quais o chamador pode se recuperar.
Exceções de Runtime: para erros de programação, como violação de pré-condições (por exemplo, acessar um índice inválido de um array).
Erros: geralmente reservados para a JVM e não devem ser usados por desenvolvedores.
Exceções Verificadas vs. Exceções de Runtime:
Use exceções verificadas se o código chamador puder tomar uma ação para resolver a situação.
Use exceções de runtime para indicar falhas no contrato da API, que devem ser corrigidas pelo programador.
// Exemplo de exceção verificada (condição recuperável)
public void readFile(String filePath) throws IOException {
// código para leitura do arquivo
}
// Exemplo de exceção de runtime (erro de programação)
public int getElement(int[] array, int index) {
if (index < 0 || index >= array.length) {
throw new ArrayIndexOutOfBoundsException("Index out of bounds");
}
return array[index];
}
Forneça métodos auxiliares em exceções verificadas:
Exceções verificadas devem incluir métodos para ajudar o chamador a lidar com a condição excepcional.
Exemplo: se uma compra falhar por saldo insuficiente, forneça o valor do déficit para que o chamador possa exibir essa informação.
public class InsufficientFundsException extends Exception {
private final double deficit;
public InsufficientFundsException(double deficit) {
super("Saldo insuficiente: falta " + deficit);
this.deficit = deficit;
}
public double getDeficit() {
return deficit;
}
}
Resumo
Use exceções para situações excepcionais e não como um fluxo de controle alternativo.
Diferencie entre exceções verificadas e de runtime para indicar ao chamador o tipo de tratamento necessário.
Inclua métodos auxiliares nas exceções verificadas para fornecer informações úteis ao chamador, facilitando a recuperação.
Esses princípios ajudam a manter o código mais claro, eficiente e fácil de depurar.
Top comments (0)