try….catch…finally

关于java中try….catch…finally用法:
1、在finally子句中的代码是最后执行的,并且是一定会执行的,即使try里面的代码出现了异常。
2、finally子句必须和try一起出现使用,不能单独编写。
一个try,可以有多个catch,但只能有一个finally,且顺序固定为:try…catch(可以多个)…finally。
一个try只跟一个finally也是允许的,可以没有catch。
一个try,(任意个catch,可以0个),一个finally。

3、finally语句通常使用在哪些情况呢?

当一些代码,不管try里面出现异常,还是没有出现异常,这些代码最终都是必须要执行的,那么这些代码可以放在finally语句中。如果放在try中,可能这些代码上面就已经出现了异常,而导致这些代码没有执行。所以说finally语句中的代码一般完成资源的释放与关闭,即使try中出现异常,也能有保障。

例:
在这里插入图片描述
-----------执行结果-----------------
func1
func2
2

分析:try中的return语句调用的函数先于finally中调用的函数执行,也就是说return语句先执行,finally语句后执行。Return并不是让函数马上返回,而是return语句执行后,将把返回结果放置进函数栈中,此时函数并不是马上返回,它要执行finally语句后才真正开始返回。所以,finally中最好不要包含return,否则程序会提前退出,返回值不是try或catch中保存的返回值。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值