关于throws和throw的一些问题

关于throws和throw的一些问题

http://img1.sycdn.imooc.com/climg//58fe11ac0001b48009380718.jpg(1)如图,把方法里面的throws抛出声名注释了,然后运行try...catch,仍然得到相同的运行效果,那么throws声名究竟有什么意义呢?

(2)对于比如数组下标越界、算术错误等非自定义的异常来说,是否不需要throw抛出。若需要,但对于这些非自定义异常,throws和try..catch就能把这些异常处理,为什么还需要用throw关键字来抛出异常?

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

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

1回答
好帮手慕珊 2017-04-25 09:45:15

(1)throws抛出异常,不处理,在调用该方法的时候再用try-catch进行处理。在定义方法时使用throws是的方法定义更关注业务逻辑本身的内容。

(2)关于throw,可以这样理解,当执行到throw语句时,肯定是抛出了一个异常。而用try-catch或throws是处理异常,这个异常可能发生,也可能没有发生,如果发生就处理,否则就什么都不做。throw在自定义异常时使用,就像视频中提到的当年龄小于18或大于80时,就把异常抛出了(确确实实的发生异常并抛出了)。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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