Java中异常中finaly的超能力

我们来看看下面的代码

java 复制代码
public class B {
    static int fun(){
        try{
         System.out.println("11");
         return 1;
        }finally {
            System.out.println(22);
        }
    }
    public static void main(String []a){
        System.out.println(fun());
    }
}

结果会是什么呢,finaly中的值会不会被执行呢?

结果是

11

22

1

  1. fun() 方法被从 main() 方法中调用。
  2. try 块中的代码被执行,并将 "11" 打印到控制台。
  3. try 块中的 return 语句导致 fun() 方法退出,并返回值 1。然而,在方法实际返回之前,finally 块被执行。
  4. finally 块中的代码打印 "22" 到控制台。
  5. 最后,从 main() 方法中打印返回的值 1 到控制台
相关推荐
zyseo81 小时前
谷歌SEO 站内搜索优化实战:把站内搜索词变成关键词金矿
java·服务器·数据库
qq_401700411 小时前
Qt 串口/网口通信:Hex 与 ASCII 编码转换深度指南
开发语言·数据库·qt
bug菌1 小时前
🤔同事突然问我:Spring的注解 @Component 和 @Service 有何不同?
java·spring boot·后端
佳児素花痴╮2 小时前
线程知识点
java·开发语言·jvm
学掌门2 小时前
老司机带你十分钟入门Python!
开发语言·python
fundoit2 小时前
为什么需要 Access Token 和 ID Token 两个令牌
java·spring·架构·github·oauth2
zhangzeyuaaa2 小时前
深入 Ruby:return 退出规则完全指南
开发语言·ruby
鱼宵3 小时前
Spring AI 流式输出:Flux + SSE 打字机,回答不再干等三秒
java·人工智能·spring·sse·springai·流式输出
shaibdoio3 小时前
AI主动获客的意图识别工程实现:从规则匹配到模型微调
java·开发语言·人工智能·长沙瞬维ai
for_ever_love__3 小时前
MySQL 事务隔离级别讲透:MVCC、幻读与四个级别怎么选
java·数据库·mysql·事务·mvcc·不可重复读·幻读