最佳答案
在下面的示例中,如果异常位于 using
语句中,那么当引发异常时,连接是否会关闭并被释放?
using (var conn = new SqlConnection("..."))
{
conn.Open();
// stuff happens here and exception is thrown...
}
我知道下面的这段代码将确保它能做到这一点,但我很好奇使用语句是如何做到的。
var conn;
try
{
conn = new SqlConnection("...");
conn.Open();
// stuff happens here and exception is thrown...
}
// catch it or let it bubble up
finally
{
conn.Dispose();
}