这里为什么要抛运行时异常而不抛其他异常呢?

这里为什么要抛运行时异常而不抛其他异常呢?

https://img1.sycdn.imooc.com//climg/61340be309defa2214280592.jpg

我主要想知道什么情况下,抛运行时异常,什么情况抛非运行时异常,检查异常下抛一个非检查异常,有点不太明白,是执行起来不会报错还是什么原因呢?以后自己写项目的时候,该怎么抛呢?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕阿园 2021-09-05 15:09:26

同学你好,throw new RuntimeException是把异常继续抛出,在项目运行之后出错则直接中止运行,异常由JVM虚拟机处理,会终止程序运行;比如视频中的代码,如果初始化都无法正确完成,再继续运行下去也没有必要了;所以如果某段代码块非常重要,一旦异常则可能会影响后面代码或者说绝对不允许该代码块出错,那么就可以用  RuntimeException,不过具体情况还需具体分析

祝学习愉快~

  • 提问者 磊哥技术 #1

    抛异常我倒是明白,而抛什么异常这个我是有疑惑的,比如那个运行时异常,我是不是也可以直接把那个参数抛出去,比如:throw throwables;那跟图片里的抛出运行时异常,区别是什么呢?

    2021-09-05 15:13:20
  • 好帮手慕阿园 回复 提问者 磊哥技术 #2

    同学你好,也是可以的,但是这个throwables是一般的异常,如果这样抛出的话,需要在该方法上用throws来声明或者再次try-catch,比如:public void abc() throws Exception然后调用这个方法的方法也需要这么做,所以一般我们建议是把throwables(e)包装成运行时异常来抛出

    祝学习愉快~

    2021-09-05 17:34:02
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师