A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

论坛中有位大神提用了如下代码,但是finally语句中,不能加入return语句,他这段代码是不是正确的

package com.itheima;

/**
* 5、 用代码证明,在try中写了return,后面又写了finally,是先执行return还是先执行fianlly?
*/

public class Test5 {
                public static void main(String[] args){
                        System.out.println(test());
                }
                //自定义一个test测试函数
                public static boolean test(){
                        try{
                                //用来检测try块里面处于return前的语句是否有被执行
                                System.out.println("try语句块被执行");
                                return false;
                        }
                        finally{       
                                //用来检测finally语句块中的语句有没有被执行
                                System.out.println("finally语句块被执行");
                                return true;
                        }               
                }
//                先执行try 语句

}


1 个回复

倒序浏览
本帖最后由 pvbj0314 于 2015-5-13 20:08 编辑

"The finally block always executes when the try block exits. This ensures that the finally block is executed even if an unexpected exception occurs. But finally is useful for more than just exception handling — it allows the programmer to avoid having cleanup code accidentally bypassed by a return, continue, or break. Putting cleanup code in a finally block is always a good practice, even when no exceptions are anticipated." -- finally Block: https://docs.oracle.com/javase/tutorial/essential/exceptions/finally.html
文中红色部分就是答案。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马