try - catch -finally 中finally在什么时候执行?
结论:
1 2 3 | 1. finally 中的语句 如果没有加入 return ,是在 try , catch 中, return 执行表达式之后, return 执行返回操作之前执行; 2. finally 中的语句 如果还有 return ,方法会提现返回,返回的结果是 finally 中 return 的执行 |

package lambda; import lombok.extern.slf4j.Slf4j; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; /** * TODO * * @author zhaoJs * @version 1.0 * @date 2022/9/19 9:24 */ @SpringBootTest(classes = FinallyTest.class) @RunWith(SpringRunner.class) @Slf4j public class FinallyTest { public int getTt(){ int a = 1; try { int h = 0; a = a/h; return a + 1; } catch (Exception e) { return a + 2; } finally { a = 30; return a; } } @Test public void finallyTt(){ log.info(getTt() + ""); } }
分类:
java
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升