MSDN рекомендует помещать любые экземпляры классов, которые реализуют IDisposable
в блок using
. Или, альтернативно, если он создается в блоке try-catch
, тогда Dispose
в Finally
.
Существуют ли какие-либо проблемы с использованием блока using
в блоке try-catch
, например, так?
try
{
using (Foo bar = new Foo())
{
bar.doStuff();
}
}
catch (Exception e)
{
//vomit e
}
Конечно, я могу просто вызвать Dispose
в блоке Finally
, но я новичок в программировании, и мне просто интересно узнать, подходит ли что-то подобное, или если кто-то ударит меня затылок и кричать на меня, что я Doing-It-Wrong™
.
Или, скорее, меня больше интересует, почему это было бы неправильно, если бы это было.