public class Args1Test {
public static void main(String[] args) {
try {
args = null;
args[0] = "test";
} catch (Exception ex) {
System.out.println("Exception");
} catch (NullPointerException npe) {
System.out.println("NullPointerException");
}
}
}
备选答案:
- A:test
- B:Exception
- C.Compilation fails.
- D.NullPointerException
首先我们可以知道catch是是一个异常链,只要有一个处理,后续的catch都不再执行,并且还有一个条件,也就是多个catch时父类应该在子类异常的后面(也就是特定异常在前,通用异常在后,反过来则报C,所以此题选择c。这个题目还有一个陷阱,因为args是一个数组,但是它是不可以改变,是一个只读数组,因为在没有第二个catch子句的情况下选择B