finally块的问题

finally块的问题

无论是否抛出异常 finally块都会被执行  但这好像没有什么用啊

我在catch块后面直接写的效果不是一样么?

正在回答

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

1回答

catch块中的代码,仅当程序抛出异常的时候才会执行,如果程序没有异常,是不会执行的,而finally就不一样了,不管程序是否异常都会执行,所以一般网络连接关闭,数据库连接关闭,文件I/O关闭等操作都要放到finally,如果解决了你的疑惑,请采纳,祝学习愉快~

  • BANPINGSHUI 提问者 #1
    比如说我有语句需要不管有没异常都要执行 我不放finally 直接写在catch块后面 catch{ 异常处理; } {需要执行的语句;}
    2017-04-28 18:36:58
  • BANPINGSHUI 提问者 #2
    这样效果不是一样吗
    2017-04-28 18:37:46
  • 回忆里小马甲 回复 提问者 BANPINGSHUI #3
    当catch块中有return语句时finally会被执行,直接放catch后面的不会。
    2017-04-29 09:04:37
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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