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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 甘斌斌 中级黑马   /  2013-6-14 14:13  /  1201 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

3 个回复

倒序浏览
当然会执行了,而且是在return前执行.
回复 使用道具 举报
finally{}里中的代码无论什么情况都是肯定要执行的,但是楼上说的在return之前执行好像有问题
看这段代码:
static void Main(string[] args)
        {
            Console.WriteLine("{0}",II());
            int i = II();
            Console.ReadKey();
        }
        public static int II()
        {
            int a = 1;
            try
            {
                return a;
            }
            finally
            {
                a++;
            }
        }
执行出来,方法的返回值是1,设置断点 能清楚的看到  return是在finally{}之前执行的  多动手噢   我是刚到的新手  以后多多交流

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
finally中的代码是一定会执行的,应该是先return  再  finally

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马