不能在finally块使用return
来源:互联网 发布:淘宝佣金怎么赚 编辑:程序博客网 时间:2024/05/31 06:23
错误案例
【现象描述】
try-catch块中永远返回finally中return的值
【错误代码】
static boolean f() { try { return true; } finally { return false; }}
错误分析
在这个应用场景中,不要用return来退出finally语句块,因为finally语句块都会被执行到,这样try程序块中执行正常也会在finally中退出,不会再回到try程序块中。
Try-catch的流程说明:
try { … … return true;}catch(异常){ …} finally { …}}
1,try-catch-finally,
如果try语句块遇到异常,try下面的代码就不执行了,转而执行catch语句块,执行完再执行finally语句块,最后结束。
2,try-finally,
如果在try语句块中执行到return语句前一条,未遇到异常,转而执行finally语句块,执行完再执行try中的return语句。
不要用return、break、continue或throw来退出finally语句块
正确用法
//该方法返回false
static boolean f() { try { return true; } finally { //不做return操作 }}
- 不能在finally块使用return
- 不能在finally块中return
- CoreJava_不要在finally块中使用return关键字
- 【火线解码】001.避免在finally语句块中使用return语句
- finally为什么要在try块中的return之前执行
- 12.8.2 在return中使用finally
- 使用javap分析finally块和return值
- return和finally使用
- return和finally使用
- try...catch...finally块嵌入return
- finally{}代码块比return先执行
- return在try-catch-finally语句中的使用
- Java基础之在return中使用finally
- java中在finally语句中使用return语句
- finally在try和catch块以及return中的执行顺序
- finally块中不允许使用return,continue或break的原因
- finally块中不允许使用return,continue或break的原因
- 使用javap分析finally块中return值(续1)
- 删除服务器上文件 脚本
- win32的回调函数
- Flex PHP RIA 富客户端调试技巧
- 如何利用html中元素
- SharePoint2007给我的启示
- 不能在finally块使用return
- CURSOR使用
- 英语学术论文常用句型(转载)
- 返回空list的方式
- shell的if else 以及大于,小于等逻辑表达式
- 不可变类型
- [精华] Oracle 游标使用大全
- tar的详细使用
- Flex客户端向服务端发送请求设置Timeout