c#中return关键字和finally关键字之间的关系

Ard*_*çlü 0 c# exception-handling

我想找出"return"和"finally"关键字之间的关系.什么是执行顺序以及发生异常时会发生什么,并且在代码块执行某些操作后调用return关键字,如果有两个嵌套的finally块,如下所示,

        try
        {
            try
            {

            }
            catch (Exception)
            {
                //do some stuff
                return;
            }
            finally
            {

            }
        }
        catch (Exception)
        {

        }
        finally
        {

        }
Run Code Online (Sandbox Code Playgroud)

Ere*_*mez 5

来自MSDN:

通常,当控制离开try语句时,执行finally块的语句,是否由于正常执行而发生控制转移,执行break,continue,gotoreturn语句,还是传播异常在try语句之外.

在您的示例中,两个finally块都将执行.内部将首先执行,然后外部将最终执行.