是否可以在try块中使用return语句?怎么样?

Tin*_*Tin -3 c# asp.net try-catch

是否可以在try块中使用return语句?.如何使用该语句有什么用处.

Tre*_*edd 8

您可以从try块中返回,但请记住,finally方法中的代码将在从方法返回之前执行.例如,MessageBox.Show(test().ToString());使用下面的方法调用将导致出现两个消息框(第一个显示"3",第二个显示"1").

    int test()
    {
        try
        {
            return 1;
            throw new Exception();
        }
        catch (Exception e)
        {
            return 2;
        }
        finally
        {
            MessageBox.Show("3");
        }
    }
Run Code Online (Sandbox Code Playgroud)

  • 另请注意,尝试从finally子句返回会导致编译器错误. (4认同)