SCJP 1.6版考題 113

出自 陳富國維基館
於 2013年3月30日 (六) 04:21 由 Ikk (對話 | 貢獻) 所做的修訂 (新頁面: 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...)
(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)
前往: 導覽搜尋
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]存取一個不存在的陣列物件而發生錯誤!