Обработка ошибки в блоке catch
От: .beginner  
Дата: 04.12.12 10:22
Оценка:
Мне довольно часто приходится писать похожие обработчики ошибок,
когда в try-catch в блоке catch нужно сделать что то, что может снова привести к ошибке.
я решаю эту проблему неизящно, пример:

    private void LoadSettings()
    {
      string fileName = @"c:\Settings.xml";
      bool needDelete = false;
      try
      {
        // Пробуем загрузить настройки из файла, но не уверен, что файл правильный
        gc1.MainView.RestoreLayoutFromXml(fileName);
      }
      catch (Exception ex)
      {
        // ставим флаг, что онужно грохнуть такой нехороший файл
        needDelete = true;
      }
      if (needDelete)
      {
        try
        {
          File.Delete(fileName);
        }
        catch (Exception ex)
        {
        }
      }
    }


Как то это громоздко. Нет ли способа делать это без двух блоков Try-catch и флага?
Спасибо за рекомендации!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.