using
помещает try
и finally
в ваш код и автоматически вызывает .Dispose()
, и в конечном итоге .Close()
coz DbConnection.Dispose()
вызывает Close()
, но здесь нет подвоха, поэтому вам нужно будет добавить catch
над using
блоком, что-то вроде этого
try
{
using(some resource)
{
}
}
catch(Exception)
{
}
против
try
{
}
catch(Exception)
{
}
finally{ }
Итак, глядя на это, вы можете подумать, что Try / Catch / Наконец лучше, чем Использование , потому что в using
в любом случае вам нужно обработать ошибку, , но это не .
Если во время .Close()
или .Dispose()
возникнет какая-либо ошибка, первый образец тоже с этим справится, но во втором случае вам придется поместить try-catch
в блок finally
.
Подробнее о Избегание проблем с помощью оператора Using (MSDN)
Надеюсь, это ответит на ваш вопрос.