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 到控制台
相关推荐
u***1374 小时前
详解tomcat中的jmx监控
java·tomcat
Vic101014 小时前
Java 序列化与反序列化:深入解析与实践
java·开发语言
Sirius Wu4 小时前
开源训练框架:MS-SWIFT详解
开发语言·人工智能·语言模型·开源·aigc·swift
后端小张4 小时前
【JAVA 进阶】Spring Cloud 微服务全栈实践:从认知到落地
java·开发语言·spring boot·spring·spring cloud·微服务·原理
从零开始学习人工智能4 小时前
USDT区块链转账 vs SWIFT跨境转账:技术逻辑与场景博弈的深度拆解
开发语言·ssh·swift
星释4 小时前
Rust 练习册 31:啤酒歌与字符串格式化艺术
开发语言·网络·rust
zl9798994 小时前
RabbitMQ-发布确认高级
java·分布式·rabbitmq
灰小猿4 小时前
分布式项目集成TLog实现轻量级日志链路追踪
java·分布式·springcloud·tlog·日志链路追踪
乄bluefox4 小时前
高性能分布式 ID 生成器:基于 Redis Segment 预分配的实践
java·redis·分布式
Jiong-9524 小时前
Java求职面试:谢飞机的奇妙旅程
java·jvm·线程池·多线程·hashmap·juc·arraylist