【发布时间】:2012-03-31 19:27:21
【问题描述】:
两个条件有什么区别?每次运行method1或method2时,都应该有一个代码块需要运行。在我看来,这两种方法是一样的。
// example method1
void Method1(void)
{
try
{
// do something
}
catch (Exception ex)
{
// do something
}
finally
{
// do something whenever method1 runs
}
}
// example method2
void Method2(void)
{
try
{
// do something
}
catch (Exception ex)
{
// do something
}
// do something whenever method2 runs
}
对我来说,最后阻止似乎是不必要的。
【问题讨论】:
-
您需要具体了解
do somethings 才能提出这个问题。 -
取决于“做某事”的作用
-
请阅读以下内容以获取更多信息。最后是可选的,您可以在所有处理完成后释放资源。 msdn.microsoft.com/en-us/library/fk6t46tz(v=vs.71).aspx
-
您在 Method2 中的异常意味着您可能永远无法到达该方法的末尾。在方法 1 中 finally 将始终运行。未发布为答案,因为我会让其他人给出示例等。
-
不要抓住你不能处理的东西