Практическое руководство. Обработка ошибок на уровне страницы

Visual Studio 2010

Обновлен: Ноябрь 2007

По возможности следует обрабатывать ошибки в блоках Try/Catch внутри кода, поскольку проблемы проще устранять в момент их обнаружения. Если пользователь может помочь в исправлении ошибки, необходимо вернуть страницу к тому же месту, чтобы пользователь лучше понимал контекст выполняемых действий.

Обработчик на уровне страницы возвращает к странице с ошибкой, однако нужные данные на ней отсутствуют, поскольку не создан экземпляр элементов управления. Чтобы пользователь получил какую-либо информацию, ее необходимо специально записать на странице.

Для записи необработанных ошибок можно использовать обработчик ошибок на уровне страницы или можно представить вниманию пользователя страницу с нужной информацией.

В следующем примере кода показан обработчик событий Error на веб-странице ASP.NET. Данный обработчик собирает все исключения, не обработанные в рамках блоков Try/Catch на странице.

После обработки ошибки необходимо удалить ее, вызвав метод ClearError объекта Server (класс HttpServerUtility).

Этот обработчик выполняет фильтрацию определенных типов исключений. В случае исключений ArgumentOutOfRangeException обработчик записывает определенный текст на странице, предоставляет ссылку на эту страницу, записывает ошибку и оповещает системных администраторов. При возникновении исключения InvalidOperationException обработчик просто передает исключение на универсальную страницу ошибки. Обработчик не выполняет каких-либо действий в отношении других видов исключений, что позволяет узлу автоматически перейти на универсальную страницу, указанную в файле Web.config. Собственный код разработчика выполнит фильтрацию исключений, представляющих важность для приложения.

Следующий пример является частью завершенного кода в разделе Пример обработчиков ошибок

Разрешите отображения подробных сообщений об ошибках только для локальных пользователей с помощью элемента <customErrors> Element.

Не следует отображать сведения об ошибке, которые могут помочь злоумышленным пользователям повредить данное приложение. Дополнительные сведения см. в разделе Практическое руководство. Отображение безопасных сообщений об ошибках.

Показ: