catch return还是执行finally码(Java异常try里面有return,finally代码会执行吗)

本文目录
Java异常try里面有return,finally代码会执行吗
finally段的代码无论是否发生异常都要执行!
代码执行顺序介绍:
如果try中的语句出现异常,那么try块中异常语句后的代码不执行,直接执行catch块中的代码,最后执行finally块中的代码(遇到return结束程序);如果try中的语句没有异常,执行try块中return前的语句,最后执行finally块中的语句(遇到return结束程序),不会执行catch块中的语句。
代码演示验证:
当try块中return前的语句没有异常时
public class ReturnTest {
public static void main(String args) {
try {
System.out.println("try中的语句");
return;
} catch (Exception e) {
System.out.println("catch中的语句");
return;
} finally {
System.out.println("finally中的语句");
}
}
}
执行效果:
当try块中return前的语句出现异常时:
public class ReturnTest {
public static void main(String args) {
try {
int ii = 5;
ii = ii / 0; // 分母不能为0,此处有异常
System.out.println("try中的语句");
return;
} catch (Exception e) {
System.out.println("catch中的语句");
return;
} finally {
System.out.println("finally中的语句");
}
}
}
执行效果:
finally子句后面的语句会不会被执行
finally{
里面的句子一定回执行
}
后面的 要看 前面是不是 发生异常
如果try{}里面的 正常执行完后 finally 做结束处理 那么
finally{} 后面还有 那当然会执行
如果 try{} 发生异常 到catch{}捕捉 或直抛出 然后要执行finally{}
里面的,但是后面的就不会执行了。

更多文章:
unlikely(not likely和unlikely含义一样吗)
2025年10月23日 20:45
kindeditor 在dialog中居中(在Iframe中使用jquery ui dialog 怎么使弹出窗口居于浏览器中间)
2025年7月27日 23:15
ASP.NET MVC 4框架揭秘:Controller类型的缓存?RxCache缓存框架
2026年6月1日 06:00
java编程工具免费(请问java编写程序除了用eclipse,还可以用什么我主要是想做web前端的,有没有什么视图化的软件啊)
2025年8月4日 12:30
memcached性能(PHP中4个加速,缓存扩展的区别和选用建议)
2025年9月8日 08:45
2 3表示什么python(python语句:print(*[1,2,3]),是什么意思)
2026年8月14日 22:30
java下载了打不开(为什么下载了java也玩不了我的世界)
2026年5月17日 05:15
timeformat函数(GetTimeFormat怎么用,各个参数尤其是最后一个有点看不懂)
2025年11月13日 04:30
sqlite3规则(sqlite3数据库 运行一段时间后 命令行操作出现:Error:unsupported file format)
2025年10月25日 22:45
extensional mentality的意思(mentality是什么意思)
2026年1月6日 13:00











