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 到控制台
相关推荐
无限进步_几秒前
【C语言&数据结构】对称二叉树:镜像世界的递归探索
c语言·开发语言·数据结构·c++·git·算法·visual studio
JavaLearnerZGQ3 分钟前
1、Java中的线程
java·开发语言·python
小当家.10515 分钟前
深入理解JVM:架构、原理与调优实战
java·jvm·架构
松涛和鸣21 分钟前
49、智能电源箱项目技术栈解析
服务器·c语言·开发语言·http·html·php
刀法如飞23 分钟前
一款开箱即用的Spring Boot 4 DDD工程脚手架
java·后端·架构
huwei85326 分钟前
Q打印表格内容类
开发语言·qt
一嘴一个橘子27 分钟前
spring-aop 的 基础使用 -3 - 切点表达式 的提取、复用
java
Re_zero29 分钟前
Java新手避坑:为什么我劝你放弃 scanner.nextInt()?
java
oioihoii36 分钟前
构建高并发AI服务网关:C++与gRPC的工程实践
开发语言·c++·人工智能
X***07881 小时前
从底层逻辑到工程实践,深入理解C语言在计算机世界中的核心地位与持久价值
c语言·开发语言