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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 小穿钉 于 2015-10-18 13:00 编辑


try{}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?


也许你的答案是在return之前,但往更细地说,


代码看下面:

6 个回复

倒序浏览
附上代码:


public  classTest {  
  
    public static void main(String[] args) {  
       System.out.println(newTest().test());  
    }  
    staticint test()  
    {  
       int x = 1;  
       try  
       {  
           return x;  
       }  
       finally  
       {  
           ++x;  
       }  
    }  
}  
回复 使用道具 举报
贴子要沉.......
回复 使用道具 举报
答案是1.
回复 使用道具 举报




我想知道:

try{}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
回复 使用道具 举报
会被执行的吧,应该是在return后执行,你可以试试在return前和finally里打印东西,看先后顺序
回复 使用道具 举报
polarfox17 发表于 2015-10-18 13:57
会被执行的吧,应该是在return后执行,你可以试试在return前和finally里打印东西,看先后顺序 ...

恩恩,的确是大神
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马