1
resposta

por que erro de compilação?? é não a Exception generica

Boa noite, não entendi por que neste codigo: try { Pessoa p = null; System.out.println(p.getNome()); } catch (Exception e) { System.out.println("Exception"); } catch (ArrayIndexOutOfBoundsException e) { System.out.println("Array Index Out Of Bounds Exception"); } catch (NullPointerException e) { System.out.println("Null Pointer Exception"); } a resposta do exercicio que pergunta qual é a saida é: O código vai gerar um erro de compilação, pois a exceção mais genérica, no caso a Exception, deve ser declarada no último bloco catch.

1 resposta

Boa noite, é por que a exceção: (exception) é a mais genérica que pega qualquer erro, ai pela hierarquia você tem que declarar as exceções mais especificas antes se nenhuma capturar a exceção cai na exception.