"SCJP 1.6版考題 113" 修訂間的差異

出自 陳富國維基館
前往: 導覽搜尋
(新頁面: Given: 10. public class Foo{ 11. static int[] a; 12. static{ a[0] = 2;} 13. public static void main( String[] args){} 14. } Which exception or error will be thrown whe...)
 
(無差異)

於 2013年3月30日 (六) 04:21 的最新修訂

Given:
10. public class Foo{
11.   static int[] a;
12.   static{ a[0] = 2;}
13.   public static void main( String[] args){}
14. }


Which exception or error will be thrown when a programmer attempts to run this code?
  A. java.lang.StackOverflowError
  B. java.lang.IllegalStateException
  C. java.lang.ExceptionInInitializerError
  D. java.lang.ArrayIndexOutOfBoundsException


解答


Ans: C

解說: 在static初始區塊發生錯誤會跑出java.lang.ExceptionInInitializerError,a[0]存取一個不存在的陣列物件而發生錯誤!