博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 中 finally里面写了return 会发生什么?
阅读量:5259 次
发布时间:2019-06-14

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

boolean test() throws Exception { boolean ret = true; try { int b = 12; int c; for (int i = 1; i >= -2; i--) { c = b / i; System.out.println("i=" + i); } return true; } catch (Exception e) { System.out.println("testEx2, catch exception"); ret = false; throw e; } finally { System.out.println("testEx2, finally; return value=" + ret); return ret; }}

这是一种很不好的写法。

开始认为会输出 

    i=12

testEx2, catch exception
testEx2, finally; return value=false 但事实是

   i =12

testEx2, finally; return value=false 原因是finally里写return  return会冲掉上边的return 并且干掉catch抛出的异常

 

转载于:https://www.cnblogs.com/shadowcode/p/5158631.html

你可能感兴趣的文章
线程androidAndroid ConditionVariable的用法
查看>>
转载:ASP.NET Core 在 JSON 文件中配置依赖注入
查看>>
socket初识
查看>>
磁盘测试工具
查看>>
代码变量、函数命名神奇网站
查看>>
redis cli命令
查看>>
Problem B: 占点游戏
查看>>
python常用模块之sys, os, random
查看>>
HDU 2548 A strange lift
查看>>
Linux服务器在外地,如何用eclipse连接hdfs
查看>>
react双组件传值和传参
查看>>
[Kaggle] Sentiment Analysis on Movie Reviews
查看>>
价值观
查看>>
mongodb命令----批量更改文档字段名
查看>>
使用 SharedPreferences 分类: Andro...
查看>>
TLA+(待续...)
查看>>
题解: [GXOI/GZOI2019]与或和
查看>>
MacOS copy图标shell脚本
查看>>
国外常见互联网盈利创新模式
查看>>
Oracle-05
查看>>