finally里误用return
来源:互联网 发布:程序员离职原因 编辑:程序博客网 时间:2024/05/01 21:12
今天看到一句话,finally 语句块在 try 语句块中的 return 语句之前执行,过了两年突然对这句话感到有些困惑,以为是执行完try之后有finally就会最终再执行finally,没成想“finally 语句块在 try 语句块中的 return 语句之前执行”才是真理。
package test;public class TestFinallyReturn {public static void main(String[] args) {System.out.println(testFinally());}@SuppressWarnings("finally")private static int testFinally(){try {System.out.println("try");return 1;} catch (Exception e) {return -1;} finally{System.out.println("finally");return 0;}}}执行结果如下:
try
finally
0
由上可知,finally 语句块在 try 语句块中的 return 语句之前执行,一定要注意:
只有资源需要释放的时候,才去使用finally,不要一股脑的扔到finally里面去处理,其他就扔给Java的垃圾回收机制处理吧,否则一不小心返回一个错误的结果就麻烦了。
阅读全文
0 0
- finally里误用return
- finally里的return问题
- try和finally里的return
- return finally
- try catch finally 里有return的执行机制
- try catch finally,try里有return,finally还执行么?
- try catch finally,try里有return,finally还执行么?
- try catch finally,try里有return,finally还执行么
- try catch finally,try里有return,finally还执行么?(最强总结)
- try catch finally,try里有return,finally还执行么?(最强总结)
- try catch finally,try里有return,finally还执行么?
- try catch finally,try里有return,finally还执行么
- try catch finally,try里有return,finally还执行么?
- 7. try catch finally,try里有return,finally还执行么?
- try {}里有一个return语句,finally {}里的code执行情况
- return和finally使用
- return和finally使用
- finally与return
- Java 8 默认方法和多继承
- 关于大淘客CMS免费二次开发分享的曝光
- 程序中数据存放的位置
- linux定时备份MySQL数据库并删除七天前的备份文件
- 我的刚开始
- finally里误用return
- 《模仿游戏》——“计算机之父”的传奇人生
- Docker Tips
- okhttp/Retrofit-rxJava加入数字证书支持HTTPS 实现单向及双向验证
- Codeforces-258D:Little Elephant and Broken Sorting(概率DP)
- curl:<1> Protocol "'http" not supported or disabled in libcurl
- apache常用的工具类
- 数据结构-C语言 单链线性表实现归并 C=A∪B
- ubuntu16.04安装teamviewer12依赖包解决