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 到控制台
相关推荐
云和数据.ChenGuang7 分钟前
Java装箱与拆箱(面试核心解析)
java·开发语言·面试
SimonKing9 分钟前
MyBatis的隐形炸弹:selectByExampleWithBLOBs使用不当,让性能下降80%
java·后端·程序员
海南java第二人14 分钟前
打破Java双亲委派模型的三大核心场景与技术实现
java·spring
天天摸鱼的java工程师14 分钟前
分布式 ID 生成终极方案:雪花算法优化与高可用实现
java·后端
Evand J15 分钟前
【定位代码】复杂地磁环境下无人机自主导航增强技术研究——地磁匹配与多源数据融合方法,附matlab代码
开发语言·matlab·无人机
沛沛老爹16 分钟前
2025年java总结:缝缝补补又一年?
java·开发语言·人工智能·python·guava·总结·web转型ai
艾迪的技术之路17 分钟前
【实践】2025年线上问题解决与总结-3
java
雨中飘荡的记忆17 分钟前
MyBatis参数处理模块详解
java·mybatis
wadesir18 分钟前
高效计算欧拉函数(Rust语言实现详解)
开发语言·算法·rust
superman超哥19 分钟前
Rust 零拷贝技术应用:极致性能的内存操作艺术
开发语言·后端·rust·rust零拷贝技术·内存操作