如果try{}里面有一个return语句,那么紧跟着这个try后的finally{}里面的代码会不会执行?
发布日期:2021-10-12 20:08:25 浏览次数:5 分类:技术文章

本文共 1297 字,大约阅读时间需要 4 分钟。

1.分析

如果try{}里面有一个return语句,那么紧跟着这个try后的finally{}里面的代码会不会执行?

一定会执行

分析:三个语句中都可以写return,但是一般finally中不写return,因为会造成返回结果有问题。

2.finally中写返回值

2.1 当finally中写return时,返回的结果有问题(r的结果为finally返回的-1而不是30,此时try里面的返回值被-1覆盖了)

2.1代码

public class Demo1 {    public static void main(String[] args) {        int r = add(10,20);        System.out.println(r);    }    public static int add(int num1,int num2){        try{            int result = num1 + num2;//            String name = null;//            name.equals("XXX");            return result;        }catch (Exception e){            System.out.println("出现异常:"+ e.getMessage());            return 0;        }finally {            System.out.println("资源释放");//            return -1;        }    }}

2.2运行结果

资源释放30

3.finally中不写返回值

3.1代码

public class Demo1 {    public static void main(String[] args) {        int r = add(10,20);        System.out.println(r);    }    public static int add(int num1,int num2){        try{            int result = num1 + num2;            String name = null;            name.equals("XXX");            return result;        }catch (Exception e){            System.out.println("出现异常:"+ e.getMessage());            return 0;        }finally {            System.out.println("资源释放");            return -1;        }    }}

3.2运行结果

出现异常:null资源释放-1

转载地址:https://blog.csdn.net/qq_39773004/article/details/107694731 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:try{}catch{}finally{}运行后的执行结果
下一篇:常量池与堆中放入String数据,比较大小

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年04月17日 14时38分59秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

什么是服务熔断? 2019-04-27
服务器压力过大?CPU打满?我来帮你快速检查Linux服务器性能 2019-04-27
C++面经总结之《Effective C++》(一) 2019-04-27
C++面经总结之《Effective C++》(二) 2019-04-27
这是什么“虎狼之词”啊!!!程序员的健康问题,看一线老中医怎么说!!! 2019-04-27
打开我的收藏夹 -- Python数据分析杂谈 2019-04-27
上手Pandas,带你玩转数据(1)-- 实例详解pandas数据结构 2019-04-27
上手Pandas,带你玩转数据(2)-- 使用pandas从多种文件中读取数据 2019-04-27
上手Pandas,带你玩转数据(3)-- pandas数据存入文件 2019-04-27
爬虫遇上不让右击、不让F12的网站,该怎么办? 2019-04-27
上手Pandas,带你玩转数据(4)-- 数据清洗 2019-04-27
上手Pandas,带你玩转数据(5)-- 数据转换与数据定位 2019-04-27
上手Pandas,带你玩转数据(6)-- 摆脱对pandas可视化丑图的刻板印象吧 2019-04-27
从零开始,学会Python爬虫不再难!!! -- (1)开篇:初识爬虫,基础铺垫 丨蓄力计划 2019-04-27
从零开始,学会Python爬虫不再难!!! -- (2)承接:解析网页,抓取标签 丨蓄力计划 2019-04-27
AttributeError: module ‘urllib‘ has no attribute ‘quote‘的解决办法 2019-04-27
linux shell — 6.初识 EXT2 文件系统 2019-04-27
Java — String(字符串) 2019-04-27
linux shell — 7.linux 磁盘与文件系统管理 2019-04-27
linux shell — 8.linux 磁盘与文件系统管理(2) 2019-04-27