java 检查异常 和 非检查异常

Posted 远方的人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 检查异常 和 非检查异常相关的知识,希望对你有一定的参考价值。

个人见解 ,如果有问题 ,还希望大神们 指正

1. 非检查异常 又称运行时 异常 ,所有 继承自 RuntimeException 的异常都是 非检查异常  ,, 如果你不处理  会有 虚拟机 main  方法处理 

2. 凡是 不继承自 RuntimeException 的异常都是 检查异常 (如 IO 异常)

3. 上层调用者必须对  检查 异常 做处理 : try_catch  或者 继续 throws 给上层处理 

4.  为什么要有检查异常: 通常情况下 ,检查异常 并不是你的程序写的有问题 ,也就是 以前由于外部因素造成的异常 : 如磁盘满,无写权限。。显然这些不是你程序的原因。。

  但是你又不能避免这些情况发生, 在发生这些情况的时候 ,你不做处理,继续执行你的程序,可能就出错了。。所有为了更好的编码或者说能尽量避免错误, java 提供了检查异常,

  也就是说程序强制你处理这些可能发生的情况,以避免接下来的程序错误。。。

  所以我个人理解 : 检查异常更像 检查 而不是异常  。就如

    if(不符合条件1)

      return 0 ;

    else if (不符合条件2)

       return 1 ;

    else 检查通过,继续执行

但是返回0 , 1  显然无法直观的体现问题 。。而且也无法强制你去处理这种情况 。。所有出现了 检查异常 ,通过throws 一个异常 , 哪个上层就必须处理 ,要么 处理,要 么继续给更上层。。总之要有人处理。。

 

以上是关于java 检查异常 和 非检查异常的主要内容,如果未能解决你的问题,请参考以下文章

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

对检查性异常和非检查性异常的理解

面试必问:Java 检查异常和非检查异常的区别?别理解错了。。。

Java 进阶 之 检查型异常与非检查型异常

Java 进阶 之 检查型异常与非检查型异常

Java 进阶 之 检查型异常与非检查型异常