с использованием исключений проглатывания блока

У меня есть

void foo1()
{
   using(...){...}
}

void foo2()
{
   using(...){...}
}

void foo3()
{
   using(...){...}
}

и у меня

void foo()
{
    ...
    backgroundWorker.DoWork += (s, ev) =>
                                           {
                                               try
                                               {
                                                   foo1();
                                                   foo2();
                                                   foo3();
                                               }
                                               catch (Exception ex)
                                               {
                                                   // log ex
                                               }
                                           };
      ...    
}

, и я только что прочитал, что с использованием блокирует проглатывание исключений. Это элегантный способ обработки исключений из foo1 () , foo2 () и foo3 () в foo () . Я не хочу иметь try / catch внутри каждого с использованием блока в методах. Я наткнулся на этот пост , где предлагается метод расширения, но я просто проверяю, есть ли что-нибудь получше.

К вашему сведению, отключение сети вызывает логику внутри с использованием ], чтобы вызвать исключение, и это то, что я пытаюсь обработать в одном общем месте.

Спасибо,

6
задан 23 June 2011 в 17:11
поделиться