社区
Java SE
帖子详情
catch里抛出异常后finally还会执行么?
lingbai
2004-04-27 07:20:54
....
try{
...
}catch(Exception e){
throw e;
}
finally{
...
}
...全文
5708
21
打赏
收藏
catch里抛出异常后finally还会执行么?
.... try{ ... }catch(Exception e){ throw e; } finally{ ... }
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
21 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xzyrose
2004-04-28
打赏
举报
回复
我也支持,,finally语句 是必须执行的1!!!!
Jacky1206
2004-04-28
打赏
举报
回复
只要没断电它就非执行不可,楼主放宽心
luoyewuhen
2004-04-28
打赏
举报
回复
肯定的,无论从字面上还是实际java软件运行中
------------------------------------
哈哈
chashui
2004-04-28
打赏
举报
回复
up
xihii6
2004-04-28
打赏
举报
回复
肯定的,无论从字面上还是实际java软件运行中
聪头
2004-04-28
打赏
举报
回复
无论出不出异常,都会执行finally里的语句。
BigBangBug
2004-04-28
打赏
举报
回复
反正只要没有外界干预,finally都会执行!
ai92
2004-04-28
打赏
举报
回复
通以楼上各位的发言,顶
sean_gao
2004-04-28
打赏
举报
回复
除非程序进程异常终止,finally块都会顺利执行。
在catch块抛出的异常会上报到外层:如果存在外层的try-catch块,自然这个异常也会被处理;如果外层再没有try-catch,则会导致程序后续的部分不能正常执行,程序会退出,但上边提到的finally块的代码依然会执行。
楼主可以参考TIJ、CORE JAVA等书或者自己做实验。
hooligan31000
2004-04-27
打赏
举报
回复
当然会
sangern
2004-04-27
打赏
举报
回复
上面都说了
会
新来的萌新
2004-04-27
打赏
举报
回复
嘿嘿!一定会执行的,除非你使用System.exit()函数退出程序。还有断电!!
Dongluo
2004-04-27
打赏
举报
回复
一定会执行的,除非你使用System.exit()函数退出程序。
wzrlover
2004-04-27
打赏
举报
回复
绝对,一定,毫不怀疑的——会!
liangyongwen
2004-04-27
打赏
举报
回复
finally语句块内的语句肯定是要执行的~~~~~~``
maobing
2004-04-27
打赏
举报
回复
会的
yinmen
2004-04-27
打赏
举报
回复
finally是必须执行的吧。
ngqzmjmj
2004-04-27
打赏
举报
回复
除非调用System.exit(0)finally都回执行
dugang106
2004-04-27
打赏
举报
回复
中断例外,我调试过,在执行过程中强制中断,任何报错机制都没有用
webservice中断会有这种错误
Arias
2004-04-27
打赏
举报
回复
在try-catch-finally 的模式中
try里面是你没有出现异常,也就是你的程序正常执行的处理部分
catch里面是在try出现异常后转到的部分,不出现异常的话,这部分不会执行
finally则是顺序下来的,一定汇报执行的部分,通常我们在这里执行一些程序
必须要执行的当作。好像有关关闭数据库的操作那,不管你的数据库操作是否正确
最后你必须释放连接以及一些资源,否则会出问题,这样我们就把这些操作放在finally做一定处理。
加载更多回复(1)
cat
ch
抛出异常
final
ly
还会
执行
吗?会!
如果我们在try或者
cat
ch
语句块中
抛出异常
,
final
ly
语句是否会
执行
? 会!在
cat
ch
中
抛出异常
,不会影响
final
ly
的
执行
。JVM会先
执行
final
ly
,然后回过头来再
抛出异常
。 详情请参考这篇文章:https://blog.csdn.net/weixin_39955142/article/details/113050905 ...
5、
cat
ch
中发生了未知异常,
final
ly
代码块如何应对?
cat
ch
中发生了未知异常,
final
ly
还会
执行
么?
cat
ch
发生了异常,
final
ly
还是会
执行
的,并且是
final
ly
执行
完成后,才会抛出
cat
ch
中的异常。 不过
cat
ch
会吃掉try中抛出的异常,为了避免这种情况,在一些可以预见
cat
ch
中会发生异常的地方,先把try抛出的异常打印出来,这样从日志中就可以看到完整的异常信息。 ...
【Java异常易错点】try或
cat
ch
语句块中return后,
final
ly
还会
执行
吗?
1、第一个输出:num为0的时候,分母为0,那么便会报出异常java.lang.ArithmeticException(这
里
是针对整型运算分母为0的情况,浮点型可不会
抛出异常
),
抛出异常
就
执行
cat
ch
语句,那么就返回 0?那这时候的
final
ly
还会
执行
吗? 2、针对第二个输出:num为1 的时候,在try语句块中result应该是为2的,随后又return result?那此时
final
ly
还会
执行
吗?
cat
ch
抛出异常
final
ly
还
执行
吗
在面试的时候,经常会问到一些很基础的知识,比如有没接触过try,
cat
ch
,
final
ly
?他们的
执行
顺序是怎么样的呢?你对此嗤之以鼻,这不是很简单吗?按照顺序执就行了。没错,可是如果每一块有return,并且有抛异常,扑捉异常的情况呢?估计很多 人都答不上来。下面我列出try,
cat
ch
,
final
ly
的各种情况,然后总结一招搞定try,
cat
ch
,
final
ly
的
执行
顺序。 举例: 情况1: try{}
cat
ch
(){}
final
ly
{} return; 显然程序按顺序
执行
。 情况2: try
cat
ch
抛出异常
final
ly
还
执行
吗_你真的了解try、
cat
ch
、
final
ly
吗
3、有返回值函数,如果在
final
ly
里
面无返回值,且没有
cat
ch
异常,则先
执行
final
ly
,再
抛出异常
。2、有返回值函数,如果在
final
ly
里
面有返回值,[无论有没
cat
ch
异常],都会正常返回,不抛异常。1、无返回值函数,如果没有
cat
ch
异常,
final
ly
代码块会
执行
,再
抛出异常
。
Java SE
62,635
社区成员
307,269
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章