विश्वविद्यालय में जावा के लिए एक प्रश्न पर, इस कोड का स्निपेट था:
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();
}
}
}
मुझे इसका आउटपुट देने के लिए कहा गया। मैंने उत्तर दिया 13Exception in thread main MyExc2
, लेकिन सही उत्तर है 132Exception in thread main MyExc1
। ऐसा क्यों है? मैं अभी समझ नहीं पा रहा हूं कि कहां जाता है MyExc2
।