黑马程序员技术交流社区

标题: 关于try-finally的问题。 [打印本页]

作者: 甘斌斌    时间: 2013-6-14 14:13
标题: 关于try-finally的问题。
try {}return语句,那么跟在这个try后的finally {}里的代码会不会被执行?
什么时候被执行,在return前还是后?
作者: 许庭洲    时间: 2013-6-14 14:18
当然会执行了,而且是在return前执行.
作者: 成都—陈超    时间: 2013-6-14 16:12
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{}之前执行的  多动手噢   我是刚到的新手  以后多多交流
作者: aa26963    时间: 2013-6-14 16:33
finally中的代码是一定会执行的,应该是先return  再  finally




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