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 到控制台
相关推荐
vortex54 分钟前
Linux PAM 配置详解:从原理到实战,彻底阻断非授权提权
java·linux·服务器
invicinble5 分钟前
spring提供的其他机制
java·后端·spring
阿昌喜欢吃黄桃9 分钟前
如果线程池中线程异常后:销毁还是复用?
java·线程·线程池·多线程·juc
奋斗的小乌龟14 分钟前
动态创建Agent01
java·笔记
彦为君27 分钟前
Java文件处理效率库Commons-IO(速览)
java·开发语言·mfc
她的男孩1 小时前
后台权限不只是菜单隐藏:Forge Admin 的 RBAC 权限链路拆解
java·后端·架构
Slow菜鸟1 小时前
Maven 仓库下载机制
java·数据库·maven
sycmancia1 小时前
Qt——文本打印与光标定位
开发语言·qt
一个诺诺前行的后端程序员1 小时前
rag+springai
java·eclipse
Hexian25801 小时前
SpringAI+RAG
java·spring·ai