public class Fluxo {
public static void main(String[] args) {
System.out.println("Ini do main");
try {
metodo1();
} catch(ArithmeticException ex) {
//String msg = ex.getMessage();
//System.out.println("ArithmeticException " + msg);
ex.printStackTrace();
}
System.out.println("Fim do main");
}
private static void metodo1() {
System.out.println("Ini do metodo1");
metodo2();
System.out.println("Fim do metodo1");
}
private static void metodo2() {
System.out.println("Ini do metodo2");
for(int i = 1; i <= 5; i++) {
System.out.println(i);
int a = i / 0;
}
System.out.println("Fim do metodo2");
}
}
Bom dia. Gostaria de saber o porque a ordem das mensagens no console ficam diferente, ao utilizar o ex.PrintStack(). O rastro da pilha é impressa antes mesmo do INI DO MAIN , do INI DO METODO1 e do INI DO METODO2.
----------------------------------------------------
java.lang.ArithmeticException: / by zero
at Fluxo.metodo2(Fluxo.java:26)
at Fluxo.metodo1(Fluxo.java:18)
at Fluxo.main(Fluxo.java:7)
Ini do main
Ini do metodo1
Ini do metodo2
1
Fim do main
----------------------------------------------------