社区
Web 开发
帖子详情
finally {}在什么时候运行?
iknight
2003-12-22 10:27:49
我的一个类里,有好几个调用数库的方法,而且不是一起执行的,我是在每个方法里都加一个finally{},还是只加一个?
...全文
60
4
打赏
收藏
finally {}在什么时候运行?
我的一个类里,有好几个调用数库的方法,而且不是一起执行的,我是在每个方法里都加一个finally{},还是只加一个?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Leemaasn
2003-12-22
打赏
举报
回复
一个,在最后清理的时候调用。
filippo1980
2003-12-22
打赏
举报
回复
只要一个,finally是不管存否异常都会执行的!
pyzh
2003-12-22
打赏
举报
回复
try:需要进行异常监控的代码需要放在try块中。
catch:用以捕获异常。
finally:不管是否存在异常,都需要执行的代码需要放在finally块中。
凋零的老树
2003-12-22
打赏
举报
回复
一个
Java异常处理中
final
ly
什么时候不执行???执行的逻辑
final
ly
语句块什么时候不执行? 1、没
运行
到try-catch语句这里就返回了。 1)在try语句之前,方法就有返回值,返回了,未执行到try语句。 int method{ return 1; //直接返回,
运行
不到try语句 try{ }
final
ly
{ } } 2)在
运行
到try语句之前,方法出错了,程序就崩溃了。如:i = i / 0; //抛出异常,未执行到try语句块 int method{ int num = 1/0; ...
final
ly
块中的代码什么时候被执行?
final
ly
是不是一定会被执行?
问题描述:try{}里有一个return语句,那么紧跟在这个try{}后面的
final
ly
{}中的代码是否会被执行?如果会的话,什么时候被执行,在return之前还是return之后? 在Java语言的异常处理中,
final
ly
块的作用就是为了保证无论出现什么情况,
final
ly
块里的代码一定会被执行。由于程序执行return就意味着结束对当前函数的调用并跳出这个函数体,因此任何语句要执行都只能在return前执行(除非碰到exit函数),因此
final
ly
块里的代码也是在return之前执行的。此外,如
try catch 中的
final
ly
什么时候
运行
final
ly
块的执行时机通常是在try块中的代码执行完毕之后,无论try块中的代码是否引发了异常。3、如果try块中的代码引发了异常,那么相应的catch块将被执行。无论是否有匹配的catch块,
final
ly
块都将被执行。在这个示例中,try块中的代码引发了算术异常,因此将执行相应的catch块。2、如果try块中的代码没有引发异常,那么catch块将被跳过,然后执行
final
ly
块。5、如果在
final
ly
块中也出现了异常,那么这个异常将覆盖try或catch块中的异常。
final
ly
究竟什么时候执行
最近这几天再看一些面试题,顺便回忆巩固一下基础知识,其中提到
final
ly
块中的code什么时候执行,在return前还是后。一般技术人员的认知是认为
final
ly
在return之前执行;在查找阅读了相关资料,并通过实际程序
运行
后,我认为
final
ly
块中的code在try块或catch块中的return语句执行之后,返回之前执行。接下来说一下自己的理由,大家可以共同讨论。首先看一段代码。publi
Java语言中,
final
ly
一定会执行吗?
Java语言中,
final
ly
一定会执行吗?你这么肯定?
Web 开发
81,091
社区成员
341,719
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章