private static void metodo2() throws MinhaExcecao {
System.out.println("Ini do metodo2");
throw new MinhaExcecao("deu muito errado");
//System.out.println("Fim do metodo2");
}
private static void metodo2() throws MinhaExcecao {
System.out.println("Ini do metodo2");
throw new MinhaExcecao("deu muito errado");
//System.out.println("Fim do metodo2");
}
Não é obrigado. Mas porque seu método avisaria que lança uma excepcion sem lançar ?
Bom dia, Douglas!
Olhe só, quando você criou o objeto MinhaExcecao(msg), no metodo2(), na verdade, você neste momento, estar lançando uma "bomba" no mesmo, fazendo com que o fluxo de execução do código mude. Por isso que a assinatura do método tem que ser sinalizado, informando que ali possui um código perigoso.
Caso contrário, se no método não possuir algum código que comprometa o seu fluxo de execução ou que cause algum erro de compilação, então a assinatura do método não precisa ser sinalizada.
Não é. Não haverá erro de compilação. É importante entender também, que o fato de haver "throws" na assinatura significa que o método tem potencial de lançar a exceção, ele pode ou não lançá-la.