Pada pertanyaan untuk Java di universitas, ada cuplikan kode ini:
class MyExc1 extends Exception {}
class MyExc2 extends Exception {}
class MyExc3 extends MyExc2 {}
public class C1 {
public static void main(String[] args) throws Exception {
try {
System.out.print(1);
q();
}
catch (Exception i) {
throw new MyExc2();
}
finally {
System.out.print(2);
throw new MyExc1();
}
}
static void q() throws Exception {
try {
throw new MyExc1();
}
catch (Exception y) {
}
finally {
System.out.print(3);
throw new Exception();
}
}
}
Saya diminta memberikan hasilnya. Saya menjawab 13Exception in thread main MyExc2, tetapi jawaban yang benar adalah 132Exception in thread main MyExc1. Kenapa begitu? Saya tidak bisa mengerti ke mana perginya MyExc2.