检查型异常(CheckedException)
在Java中
所有不是RuntimeException派生的Exception
都是检查型异常。当函数中存在抛出检查型异常的操作时该函数的函数声明中
必须包含throws语句
。调用改函数的函数也
必须对该异常进行处理
,如不进行处理则必须在调用函数上声明throws语句。
检查型异常是JAVA首创的,在编译期对异常的处理有强制性的要求。在JDK代码中大量的异常属于检查型异常,包括IOException,SQLException等等。
非检查型异常(UncheckedException)
在Java中
所有RuntimeException的派生类
都是非检查型异常,与检查型异常对比,非检查型异常
可以不在函数声明中添加throws语句
,调用函数上也不需要强制处理。
常见的NullPointException,ClassCastException是常见的非检查型异常。非检查型异常
可以不使用try…catch进行处理
,但是如果有异常产生,则异常
将由JVM进行处理
。
对于RuntimeException的子类最好也使用异常处理机制。虽然RuntimeException的异常可以不使用try…catch进行处理,但是如果一旦发生异常,则肯定会导致程序中断执行,所以,为了保证程序再出错后依然可以执行,在开发代码时最好使用try…catch的异常处理机制进行处理。
转载于:https://www.cnblogs.com/xh_chiang/p/6850847.html