我正在为一位朋友审查一些代码,并说他在try-finally块中使用了一个return语句.即使try块的其余部分没有,Finally节中的代码是否仍会触发?
例:
public bool someMethod()
{
try
{
return true;
throw new Exception("test"); // doesn't seem to get executed
}
finally
{
//code in question
}
}
Run Code Online (Sandbox Code Playgroud) 在Try Catch Finally块中,finally块总是执行,无论是什么,或者只有catch块没有返回错误?
我的印象是,如果catch块没有错误,则finally块只会执行.如果由于错误而执行了catch块,那么它是否应该一起停止执行并返回错误消息(如果有的话)?