Estuve alterando el código y al ejecutarlo en la consola no aparece margen de error. Será una buena práctica dejarlo así comentado o es necesario para verificar el error y porque lo permite hacer de tal manera al comentarlo
public class Flujo {
public static void main(String[] args) {
System.out.println("Inicio main");
metodo1();
System.out.println("Fin main");
}
private static void metodo1() {
System.out.println("Inicio metodo1");
metodo2();
System.out.println("Fin metodo1");
}
private static void metodo2() {
System.out.println("Inicio metodo2");
for (int i = 1; i <= 5; i++) {
System.out.println(i);
try {
int num = 0;
int resultado = i/num;
System.out.println(resultado);
} catch(ArithmeticException exception) {
//System.out.println(exception.getMessage()); se modifico con los //
//exception.printStackTrace(); se modifico con los //
}
}
System.out.println("Fin metodo2");
}
}
Impresión de la consola comentado
Inicio main
Inicio metodo1
Inicio metodo2
1
2
3
4
5
Fin metodo2
Fin metodo1
Fin main
Impresión de la consola sin comentar
Inicio main
Inicio metodo1
Inicio metodo2
1
/ by zero
java.lang.ArithmeticException: / by zero
at Flujo.metodo2(Flujo.java:23)
at Flujo.metodo1(Flujo.java:12)
at Flujo.main(Flujo.java:6)
2
/ by zero
java.lang.ArithmeticException: / by zero
at Flujo.metodo2(Flujo.java:23)
at Flujo.metodo1(Flujo.java:12)
at Flujo.main(Flujo.java:6)
3
/ by zero
java.lang.ArithmeticException: / by zero
at Flujo.metodo2(Flujo.java:23)
at Flujo.metodo1(Flujo.java:12)
at Flujo.main(Flujo.java:6)
4
/ by zero
java.lang.ArithmeticException: / by zero
at Flujo.metodo2(Flujo.java:23)
at Flujo.metodo1(Flujo.java:12)
at Flujo.main(Flujo.java:6)
5
/ by zero
java.lang.ArithmeticException: / by zero
at Flujo.metodo2(Flujo.java:23)
at Flujo.metodo1(Flujo.java:12)
at Flujo.main(Flujo.java:6)
Fin metodo2
Fin metodo1
Fin main
Saludos