写点什么

throw 与 throws 的区别学习笔记

用户头像
风翱
关注
发布于: 2021 年 05 月 24 日

Java 关键字 throw 与 throws 的区别:

throw 与 throws 都属于 Java 抛出异常的方式。


throw

throw 是语句抛出一个异常,一般是在代码块的内部,当程序出现某种逻辑错误时由程序员主动抛出某种特定类型的异常。

  1. 作用在方法内,表示抛出具体异常,由方法体内的语句处理。

  2. 具体向外抛出的动作,所以它抛出的是一个异常实体类。若执行了 throw 一定是抛出了某种异常。

throw 则是用来抛出一个具体的异常类型。


throws

当某个方法可能会抛出某种异常时用于 throws 声明可能抛出的异常,然后交给上层调用它的方法程序处理。

  1. 作用在方法的声明上,表示如果抛出异常,则由该方法的调用者来进行异常处理。

  2. 主要的声明这个方法会抛出某种类型的异常,让它的使用者知道捕获异常的类型。

  3. 出现异常是一种可能性,但不一定会发生异常。

throws 用来声明一个方法可能产生的所有异常,不做任何处理而是将异常往上传,谁调用我我就抛给谁。


区别

  • throw 出现在代码块(函数体中),throws 出现在方法函数头。

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

  • 两者都是消极处理异常的方式,只是抛出或者可能抛出异常,但是不会由函数去处理异常,真正的处理异常由函数的上层调用处理。


发布于: 2021 年 05 月 24 日阅读数: 9
用户头像

风翱

关注

还未添加个人签名 2017.11.24 加入

勇于尝试,持续成长

评论

发布
暂无评论
throw与throws的区别学习笔记