В приведенном ниже примере соединение закрывается и удаляется, когда генерируется исключение, если оно находится в инструкции 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();
}