Как я могу проглотить исключение, которое выбрасывается в блоке catch? - PullRequest
2 голосов
/ 17 февраля 2012

Ниже приведен мой код регистрации ошибок.Когда в моем приложении происходит исключение, я записываю его в базу данных.Если эта база данных недоступна или возникла какая-то другая проблема, я пытаюсь зарегистрировать ее в средстве просмотра событий.

Что произойдет, если запись по этому средству просмотра событий по какой-либо причине также не удалась?Как мне отказаться от или проглотить это новое исключение?

void SaveLog(string accountId, Exception ex, Category category, Priority priority)
{
    try
    {
        using (var connection = new SqlConnection(…))
        {
            connection.Open();
            command.ExecuteNonQuery();
        }
    }
    catch (Exception exception)
    {
        // exception while logging!   
        using (var eventLog = new EventLog { Source = "tis" })
        {
            eventLog.WriteEntry(
                exception.Message + Environment.NewLine + 
                exception.StackTrace,
                EventLogEntryType.Error);
        }
    }
}

1 Ответ

9 голосов
/ 17 февраля 2012
try {
    // ...
}
catch (Exception exception) {
    try {
        // Attempt to write to event log.
    }
    catch {
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...