SCJP 1.6版考題 128

出自 陳富國維基館
於 2013年3月30日 (六) 03:52 由 Ikk (對話 | 貢獻) 所做的修訂 (新頁面: Given: 1. public class A{ 2. public void Method1(){ 3. try{ 4. B b = new B(); 5. b.Method2(); 6. //more code here 7. }catch(TestException te){ 8. throw new Runti...)
(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)
前往: 導覽搜尋
Given:
1. public class A{
2. public void Method1(){
3.   try{
4.     B b = new B();
5.     b.Method2();
6.     //more code here
7. }catch(TestException te){
8. throw new RuntimeException(te);
9. }
10. }
11. } 


1. public class B{
2.   public void method2() throws
        TestException{
3.     //more code here
4. }
5. }
1. public class TestException extends     
      Exception{
2. }
And given:
31. public void method(){
32. A a = new A();
33. a.method1();
34. }
 

Which statement is true if a TestException is thrown on line 3 of class B?
 A. Line 33 must be called within a try block.
 B. The exception thrown by method1 in class A is not required to be caught.
 C. The method declared on line 31 must be declared to throw a RuntimeException.
 D. On line 5 of class A, the call to method2 of class B does not need to be placed in a try/catch block .

解答


Ans: B

解說: 8行丟出的RuntimeException(與Error)是不必補捉的。