Alguém poderia me ajudar? Estou na dúvida.
Pode delegar uma RuntimeExcecption e tratar uma Exception. Exemplo abaixo (favor considerar os métodos devidamente implementados). Coloquei esse código no Eclipse e não deu erro, mas quero saber se está correto mesmo assim.
Obrigada!!!
public static void metodo3() throws RuntimeException{
try{
metodo4();
}catch(Exception e){
e.printStackTrace();
}
}
1 curtida
Bom, na minha visão você pode sim, tratar a Exception e Delegar a RuntimeException,
mas não aconselho ficar delegando, pois depois quando estourar a RuntimeException, você terá dificuldades de rastrear onde de fato ocorreu a exceção. Melhor tratar diretamente onde ela possa ocorrer.
lembrando que a RuntimeException é derivada da Exception, então está tratando genericamente as exceções e delegando uma RuntimeException, verifique se está correto.
É importante notar que existem 2 tipos de exceções em Java:
-
checked exceptions: derivam da classe Exception e o compilador te obriga a capturar e tratar ou então devem
ser declaradas no método.
-
unckecked exceptions: derivam da classe RuntimeException e não precisam ser nem declaradas e capturadas, mas quando lançadas interrompem o fluxo da aplicação da mesma maneira.
De maneira geral, eu trato exceções da seguinte maneira:
- capturo exceções pelo tipo mais específico possível
- faço tratamento genérico somente na camada mais alta da aplicação
- faço tratamento específico somente em casos em que o fluxo não pode ser interrompido, por exemplo, dentro de um loop
2 curtidas