Методы обработки исключений в веб-проекте с использованием C # - PullRequest
8 голосов
/ 02 апреля 2009

Каков наилучший способ обработки исключений, возникающих в операторах catch. В настоящее время мы пишем сообщение об исключении в метод записи объекта ответа. Но я хочу решение, с помощью которого пользователь получит только общее сообщение об ошибке, что что-то пошло не так, но мы должны получить подробное описание ошибки. Я хотел бы знать различные методы, используемые для обработки исключений в C #.

Ответы [ 5 ]

7 голосов
/ 02 апреля 2009

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

В global.asax вы также можете подписаться на событие Application_Error, которое будет вызываться для необработанного исключения

Andrew

Мониторинг работоспособности в ASP.NET: http://www.4guysfromrolla.com/articles/031407-1.aspx

4 голосов
/ 02 апреля 2009

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

Я бы посмотрел на ELMAH (Модули регистрации ошибок и обработчики); это простой способ добавить запись подробных ошибок в ваше веб-приложение.

2 голосов
/ 02 апреля 2009

Я записываю подробную ошибку в свою базу данных и перенаправляю пользователя на общую страницу ошибок.

1 голос
/ 02 апреля 2009

Как сказано в REA_ANDREW, используйте мониторинг работоспособности вместе с пользовательскими страницами ошибок.

Он не сказал однозначно, что вам следует избегать стиля программирования, который помещает блоки try / catch вокруг всего. Мониторинг работоспособности будет регистрировать необработанные исключения, а пользовательские страницы ошибок будут отображать пользователю все, что вы хотите, чтобы пользователь увидел в отношении ошибки (если что-либо). Но это произойдет только в том случае, если вы не поймаете исключения, поэтому просто оставьте их в покое и позвольте им распространяться.

1 голос
/ 02 апреля 2009

Запись в журнал событий - один из вариантов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...