Как обрабатывать исключения, создаваемые одноразовыми объектами?

Каков наилучший способ использования объектов Disposable, если методы Constructor и Process могут вызывать исключения? Обычно я предпочитаю одну из приведенных ниже реализаций.

  1. попробуйте -поймать окружение с помощью блока

    try
    {
        using (Disposable dispObj = new Disposable())
        {
            dispObj.Process();
        }
    }
    catch (Exception ex)
    {
        // Do something
    }
    
  2. попробуйте -поймать -блок окончательно.

    Disposable dispObj2 = null;
    try
    {
        dispObj2 = new Disposable();
        dispObj2.Process();
    }
    catch (Exception ex)
    {
        // Do something
    }
    finally
    {
        if (dispObj2 != null)
        {
            dispObj2.Dispose();
        }
    }
    

ОБНОВЛЕНИЕ:

Снова:«предполагая, что методы Constuctor и Process могут генерировать исключение» . Я действительно не понимаю, почему никто не заботился об исключениях в своих ответах.

7
задан Blorgbeard 26 June 2014 в 22:22
поделиться