Возможно ли перегрузить операторы try / catch в C #? В противном случае, возможно ли наследовать и создавать аналогичные функции?
Мы добавляем ELMAH к существующему веб-приложению, и код широко использует try / catch, отображая ошибки в сводке проверки вместо отображения страниц ошибок. Поскольку ошибки обнаруживаются в операторе catch, ELMAH предполагает, что ошибки устраняются; в действительности они просто отображаются более презентабельно.
Вот пример того, что он делает:
try
{
//code here...
}
catch (Exception ex)
{
customValidatorError.IsValid = false;
customValidatorError.ErrorMessage = ex.Message;
}
В идеале перегрузка просто скажет Elmah добавить исключение в журналы через ErrorSignal.FromCurrentContext().Raise(e);
Из-за частоты использования этого метода в проекте, я бы предпочел не добавлять этот код к каждому его использованию. Кроме того, в задачу проекта входит добавление пользовательских страниц ошибок для каждой страницы ошибок вместо добавления ошибок в сводку проверки.