SCJP 1.6版考題 128

出自 陳富國維基館
前往: 導覽搜尋
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)是不必補捉的。