Trên một câu hỏi dành cho Java tại trường đại học, đã có đoạn mã này:ngoại lệ ném vào đánh bắt và cuối cùng khoản
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();
}
}
}
Tôi đã yêu cầu cung cấp sản lượng của nó. Tôi đã trả lời 13Exception in thread main MyExc2
, nhưng câu trả lời đúng là 132Exception in thread main MyExc1
. Tại sao? Tôi chỉ không thể hiểu được MyExc2 đi đâu.
«Dựa trên việc đọc câu trả lời của bạn và thấy cách bạn có thể nghĩ ra, tôi tin rằng bạn nghĩ rằng" ngoại lệ "có" ưu tiên "» Cảm ơn bạn ... đó là suy nghĩ của tôi :) – JustB