C#常见面试题(一)——try-catch-finally-return

面试常会被问及try-catch-finally,现在做一下总结:

第一、不管有没有出现异常,finally块中代码都会执行。

第二、finally 代码块中不能有return。

第三、如果try 或catch中有return语句,则在finally中对返回变量的修改不会影响 返回值。

举例如下:

虽然在finally中对变量x进行了修改,但并会影响到返回值(x=2)。

        static int test()
        {
            int x = 1;
            try
            {
                x++;
                return x;
            }
            catch (Exception ex)
            {

                Console.WriteLine(ex.Message);
                return x;
            }
            finally
            {
                ++x;
                Console.WriteLine("执行finally");                              
            }            
        }

 

posted @ 2018-12-13 21:57  早起Abc  阅读(839)  评论(0编辑  收藏  举报