[問題] 關於例外呼叫的試題
大家好,近日在作計算機概論的研究所考題,仍發現對例外呼叫的概念不清楚。
兩題的問題我沒有確定答案,在此請教正確觀念:
1.在try block 中(註記22-26),是哪一行丟出例外物件?
Ans. ref2.m1() ?
2.能否將註記26的catch (E1 e)改成 catch (E2 e)?請解釋原因
本題我不知如何回答。而此更改並無法通過compile。
感謝各位的幫忙。
===================================
public class E1 extends Exception {
public void printM() {System.out.println("40");}
}
public class E2 extends E1 {
public void printM() {System.out.println("50");}
}
public class A {
public void m1() throws E1 {{System.out.println("10");}}
}
public class B extends A {
public class C extends A{
public void m1() throws E2 {
System.out.println("20");
throw new E2()
}
}
public void m1() {System.out.println("30");
}
public class Test {
public static void main (String[] args) {
try {
A ref = new B(); //22
A ref2 =((B)ref.new C()); //23
ref.m1(); //24
ref2.m1(); //25
} catch (E1 e) { //26
e.printM();
}
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.167.71.52
※ 編輯: orinsinal 來自: 218.167.71.52 (01/24 01:17)
推
01/24 15:10, , 1F
01/24 15:10, 1F
→
01/24 15:11, , 2F
01/24 15:11, 2F
推
01/24 15:12, , 3F
01/24 15:12, 3F
※ 編輯: orinsinal 來自: 61.230.68.93 (01/24 17:29)
→
01/24 17:31, , 4F
01/24 17:31, 4F
※ 編輯: orinsinal 來自: 61.230.68.93 (01/24 17:31)
→
01/24 17:32, , 5F
01/24 17:32, 5F
推
01/24 22:14, , 6F
01/24 22:14, 6F
討論串 (同標題文章)