黑马程序员技术交流社区

标题: 关于异常的? [打印本页]

作者: 赵国刚    时间: 2013-8-9 17:15
标题: 关于异常的?
try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
作者: 吃阁子的猫    时间: 2013-8-10 11:22
finally 里存放的是一定会被执行的语句,return是在finally执行后才返回的
例如:
class Test{
        static int i = 10;
        public static int method() throws Exception{
                try{
                        i = 20;
                        System.out.println("执行try中的return语句,其中i的值是:"+i);
                        return i;
                }
                catch(Exception e){
                        throw new Exception();       
                }
                finally{
                        i = i + 10;
                        System.out.println("finally执行,i的值是:"+i);
                }
        }
}
作者: 李健09    时间: 2013-8-10 12:18
你可以这样想在执行return之前它会检查一下后面是否有finally,没有就直接返回,有就先执行finally再返回




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2