日期:2014-05-20  浏览次数:20791 次

SCJP考题一道:Java desk application's possible exceptions.
Which can appropriately be thrown by a programmer using Java SE technology to create a desktop
application?
A. ClassCastException
B. NullPointerException
C. NoClassDefFoundError
D. NumberFormatException
E. ArrayIndexOutOfBoundsException

这样的知识点在SCJP study guide 6当中没有提到。估计不会考(谁知道)。但是如果有高手赐教,必将不胜感激。
还有哪些没有列出来的Exception可能被抛出呢?

------解决方案--------------------
Java异常机制,你可以仔细研读《Think in Java》。Java的异常可以分为两类,RuntimeException代表运行时由Java虚拟机生成的例外,如算术运算例外ArithmeticException(由除0错等导致)、数组越界例外ArrayIndexOutOfBoundsException等;其它则为非运行时例外,如输入输出例外IOException等。Java编译器要求Java程序必须捕获或声明所有的非运行时例外,但对运行时例外可以不做处理。 回到此题,程序员需要处理的异常就是D NumberFormatException。而其他的四个是运行时由虚拟机抛出生成的异常。