Java检查型异常和非检查型异常

  • Post author:
  • Post category:java



检查型异常(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