【发布时间】:2011-06-03 04:38:27
【问题描述】:
哪一个:
using (var myObject = new MyClass())
{
try
{
// something here...
}
catch(Exception ex)
{
// Handle exception
}
}
或
try
{
using (var myObject = new MyClass())
{
// something here...
}
}
catch(Exception ex)
{
// Handle exception
}
【问题讨论】:
-
请注意:应该注意只捕获实际上可以处理(更正)的异常,日志记录或包装除外。
-
请记住,
using语句的最后一个}也可能引发异常as reminded here。 -
TIL 如果您使用第一个代码块,调试器(在 VS 中)将不会调用 dispose 方法。因为 using 语句本身可以抛出异常,所以它帮助我使用第二块来确保隐含的
finally调用了 dispose 方法。
标签: c# try-catch using-statement