当try块中有return语句时,紧跟在try块后的finally块中的代码仍然会被执行。finally块中的代码会在return语句执行之前被执行。
无论try块中是否有异常抛出,finally块中的代码都会被执行。如果try块中没有发生异常,那么finally块中的代码会在try块中的return语句执行之后被执行。如果try块中发生了异常,那么异常会被捕获并处理,然后finally块中的代码会在异常处理完毕后被执行。
以下是一个示例代码,演示了try块中有return语句时finally块的执行顺序:
public static int Test()
{
try
{
return 1;
}
finally
{
Console.WriteLine("Finally block is executed.");
}
}
在上述示例中,无论try块中的return语句是否被执行,finally块中的代码都会被执行。当调用Test方法时,控制台会输出“Finally block is executed.”。