Мне довольно часто приходится писать похожие обработчики ошибок,
когда в 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 и флага?
Спасибо за рекомендации!