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 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]存取一個不存在的陣列物件而發生錯誤!