【发布时间】:2010-10-01 17:40:13
【问题描述】:
所以今天早上我遇到了一些看起来像这样的代码:
try
{
x = SomeThingDangerous();
return x;
}
catch (Exception ex)
{
throw new DangerousException(ex);
}
finally
{
CleanUpDangerousStuff();
}
现在这段代码可以正常编译并且可以正常工作,但是从 try 块中返回感觉不合适,尤其是如果有关联的 finally。
我的主要问题是如果 finally 抛出它自己的异常会发生什么?你有一个返回的变量,但也有一个要处理的异常......所以我很想知道其他人对从 try 块中返回的想法?
【问题讨论】:
-
这种风格的一个好处是您不必在
try块之外声明x。你可以保持它的声明接近它的用途。
标签: c# try-catch try-catch-finally