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 到控制台
相关推荐
xwill*几秒前
wandb的使用方法,以navrl为例
开发语言·python·深度学习
编程大师哥6 分钟前
Java 常见异常(按「运行时 / 编译时」分类)
java·开发语言
SnrtIevg9 分钟前
Vavr 用户指南
java·后端
bybitq14 分钟前
Leetcode131题解 -Python-回溯+cache缓存
开发语言·python
怦怦蓝20 分钟前
IDEA 开发邮件发送功能:全流程报错解决方案汇总
java·ide·intellij-idea·发邮件
艾莉丝努力练剑26 分钟前
【优选算法必刷100题:专题五】(位运算算法)第033~38题:判断字符是否唯一、丢失的数字、两整数之和、只出现一次的数字 II、消失的两个数字
java·大数据·运维·c++·人工智能·算法·位运算
山上三树27 分钟前
详细介绍 C 语言中的匿名结构体
c语言·开发语言·算法
大猫和小黄28 分钟前
Java开发过程中的各种ID生成策略
java·开发语言·id
繁依Fanyi29 分钟前
从初识到实战 | OpenTeleDB 安装迁移使用指南
开发语言·数据库·python
小罗和阿泽29 分钟前
java [多线程基础 二】
java·开发语言·jvm