os professores falaram que não gosta muito de usar
catch (Exception e) {}
Porque não tem muito bem como tratar o erro
"Aconteceu algo, não sei o que é".
Mas não é só pegar a classe com e.getClass()
e tratar com um switch
? Na minha concepção, isso fica mais organizado do que um trilhão de catch
.
try {
// Código que pode gerar uma exceção
} catch (Exception e) {
switch (e.getClass().getSimpleName()) {
case "NullPointerException":
System.out.println("Erro: Ponteiro nulo encontrado!");
break;
case "ArrayIndexOutOfBoundsException":
System.out.println("Erro: Índice de array fora dos limites!");
break;
case "ArithmeticException":
System.out.println("Erro: Operação matemática inválida!");
break;
case "IOException":
System.out.println("Erro: Problema de entrada/saída!");
break;
default:
System.out.println("Erro desconhecido: " + e.getMessage());
break;
}
}