美文网首页
java异常机制

java异常机制

作者: lucode | 来源:发表于2018-06-13 17:25 被阅读4次
    这是一张图

    上图可以看出来Exception和Error都是继承了Throwable类,在Java中只有Throwable类型的实例才可以被抛出(throw)或者捕获(catch),它是异常处理机制的基本组成类型。

    Exception和Error体现了Java平台设计者对不同异常情况的分类。

    Exception是程序正常运行中,可以预料的意外情况,可能并且应该被捕获,进行相应处理。

    Error是指在正常情况下,不大可能出现的情况,绝大部分的Error都会导致程序(比如JVM自身)处于非正常的、不可恢复状态。既然是非正常情况,所以不便于也不需要捕获,常见的比如OutOfMemoryError之类,都是Error的子类。

    • Checked Exception 比如 IO异常 在 api 定义的时候直接 throws 抛出,不catch这个异常,那么编译器就会报错
    • unchecked Exception 都是RuntimeException的子类

    throw与throws的比较

    1、throws出现在方法函数头;而throw出现在函数体。

    2、throws表示出现异常的一种可能性,并不一定会发生这些异常; throw则是抛出了异常,执行throw则一定抛出了某种异常对象。

    3、两者都是消极处理异常的方式(这里的消极并不是说这种方式不好),只是抛出或者可能抛出异常,但是不会由函数去处理异常,真正的处理异常由函数的上层调用处理。

    相关文章

      网友评论

          本文标题:java异常机制

          本文链接:https://www.haomeiwen.com/subject/gntseftx.html