Olá!
Estou com um problema no tratamento de erros e lançamento, em meu código. Que eu não estou conseguindo realizar direito. ´Vou colocar o enunciado e o código.
Escreva um programa no qual o main() chama metodoA(), que chama metodoB(), que
chama metodoC(), que chama metodoD(). Inclua código em metodoD() que dispara uma
exceção, que é capturada por metodoA(), após metodoC() e metodoB() propagarem-na.
Para cada método, inclua comandos de saída que indiquem quando o método inicia e
quando o ele retorna.
identar texto pré-formatado por 4 espaços
package propagacaoDeErros;
public class PropagacaoDeErros {
public static void main(String[] args) {
System.out.println("main");
try {
metodoA(); // ponto onde ocorre a excecao
} catch (java.lang.Error ex) { // Captura do erro
System.err.println(ex.getMessage());
}
System.out.println("Última instrução do main.");
}
public static void metodoA() {
System.out.println("Metodo A!");
metodoB(); // ponto onde ocorre a excecao
}catch(
java.lang.Error ex)
{ // Captura do erro
System.err.println(ex.getMessage());
}System.out.println("Metodo B executado!");
}
public static void metodoB() {
System.out.println("Metodo B!");
metodoC(); // ponto onde ocorre a excecao
System.out.println("Metodo C executado!");
}
public static void metodoC() {
System.out.println("Metodo C!");
metodoD(); // ponto onde ocorre a excecao
System.out.println("Metodo D executado!");
}
public static void metodoD() {
int a = 0;
int b = 1;
b = b / a;
}
}
