Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Dúvida sobre o try/catch

Neste código abaixo, no escopo do catch, está usando um | (pipe) para separar as duas exceções. A minha dúvida é de quantas exceções que eu posso especificar em cada parâmetro do catch, separando com o pipe?

try {
    System.out.println(1 / 0);
} catch (ArithmeticException | NullPointerException ex) {
    ex.printStackTrace();
}
3 respostas
solução!

Quantas exceções você quiser.

try {
    System.out.println(1 / 0);
} catch (ArithmeticException | NullPointerException | OutraExcecao ex) {
    ex.printStackTrace();
}

Esse código acima funcionaria. Porém devesse tomar cuidado com isso, pois dessa forma, as exceções

ArithmeticException | NullPointerException | OutraExcecao

serão tratadas da mesma forma, neste caso:

ex.printStackTrace();

Caso você queira tratar exceções diferentes de forma diferente, deve-se separar o catch.

Obrigado por esclarecer minha dúvida.

Por nada. =)