所以今天早上我遇到了一些看起来像这样的代码:
try
{
x = SomeThingDangerous();
return x;
}
catch (Exception ex)
{
throw new DangerousException(ex);
}
finally
{
CleanUpDangerousStuff();
}
现在这段代码编译得很好并且可以正常工作,但是从 try 块中返回感觉不正确,特别是如果有关联的 finally。
我的主要问题是如果 finally 抛出它自己的异常会发生什么?您有一个返回的变量,但也有一个要处理的异常......所以我很想知道其他人对从 try 块中返回的看法?