2
respostas

diversos Caths

Posso utilizar mais de dois, aliás, diversos "Caths" em um único método para evitar possíveis erros no código?

2 respostas

Oi, Khaio, como vai?

Pode sim, pode usar quantos achar necessário.

Abraços e bons estudos!

Apenas se atente para a ordem de exceções a serem tratadas, caso queira deixar o tratamento geral, ela deve ser a última da lista, do contrário haverá um problema na compilação mencionando que a exceção posterior ao Exception já é tratado nesse trecho

package alura;

public class OrdemTry {

    public static void main(String[] args) {
        try {
            System.out.println(1/0);
        } catch (ArithmeticException ex) {
            System.out.println("Erro previsto " + ex.getClass());
        } catch (Exception ex) {
            System.out.println("Erro inesperado " + ex.getClass());
            /* Não pode existir tratamento de erro após tratamento do tipo Exception  */
        } catch (NullPointerException ex) {
            System.out.println("Objeto não inicializado");
        }
    }

}
Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
    Unreachable catch block for NullPointerException. It is already handled by the catch block for Exception

    at alura.OrdemTry.main(OrdemTry.java:13)