【发布时间】:2012-09-03 10:21:22
【问题描述】:
如果我有一个围绕 try catch 语句的 using 块,如果 catch 引发异常,该 using 语句中的对象会发生什么情况?考虑以下代码:
using (IDatabaseConnectivityObject databaseConnectivityObject = new DbProviderFactoryConnectionBasicResponse())
{
try
{
Foo();
}
catch (ArgumentNullException e)
{
throw;
}
}
如果我们假设 Foo() 失败并且异常被触发并有效地中断了程序,那么 databaseConnectivityObject 会被释放吗?这很重要的原因是该对象具有与之关联的数据库连接。
【问题讨论】:
标签: c# .net using-statement