class MyExc1 extends Exception { }
class MyExc2 extends Exception { }
class MyExc3 extends MyExc2 { }
public class B1 {
public static void main(String [] argv)
throws Exception {
try {
System.out.print(1);
m();
System.out.print(2);
}
catch( MyExc3 d ) {
System.out.print(3);
}
}
static void m() throws Exception {
try {
if(true) throw( new MyExc1() );
else throw( new MyExc3() );
}
catch( MyExc3 c ) {
throw( new MyExc3() );
}
catch( MyExc1 j ) { ------------------------------- è già stato catturato
System.out.print(4);
throw( new MyExc3() );
}
catch( Exception z ) { ------------------------------è già stato catturato
System.out.print(5);
}
}
}
Giorno ragazzi, ho provato a svolgere il seguente esercizio. La soluzione è "errore a tempo di compilazione", infatti se lo scrivo sul compilatore mi segnala errori nei punti indicati solo che non capisco il motivo, pur guardando la gerarchia degli errori. Myexc come fa ad essere già stato catturato se non è sottoclasse di Myexc2 o Myexc3? Idem per Exception.