En este caso, no me queda claro donde tengo que lanzar "throws" Si lanzo el método1 igualmente me tirara error de compilación. (Ese "throw es por el try & catch") Y el segundo throw es por al lanzamiento de la excepción "Miexception"?
public class Flujo {
public static void main(String[] args) {
System.out.println("Inicio main");
metodo1();
System.out.println("Fin de main");
}
private static void metodo1() {
System.out.println("Inicio de metodo1");
try {
metodo2();
} catch(ArithmeticException | NullPointerException ex) {
String msg = ex.getMessage();
System.out.println("Exception " + msg);
ex.printStackTrace();
}
System.out.println("Fin de metodo1");
}
private static void metodo2() {
System.out.println("Inicio de metodo2");
throw new Miexception("dio error");
// System.out.println("Fin de metodo2");
}
}