#c# #asp.net #asp.net-mvc
#c# #asp.net #asp.net-mvc
Вопрос:
Я хотел бы представить свое исключение моим продвинутым пользователям в приятном виде HTML.
Есть ли какой-либо удобный способ (с использованием библиотеки или небольших объемов кода) преобразовать детали системы.Исключение (и внутренние исключения) в приятный презентационный HTML?
Я пытался просмотреть кодовую базу ELMAH, но, похоже, для создания HTML-документа используется более старый HtmlWriter.
Я надеялся найти что-нибудь попроще.
Любая помощь приветствуется.
Ответ №1:
Лучший способ представить исключения пользователям (даже продвинутым пользователям) — не представлять их вообще. Просто предоставьте пользователю хорошо отформатированную страницу с ошибкой, объясняющую, что что-то пошло не так, вы зарегистрировали ошибку, и вы посмотрите на нее.
Есть две проблемы с предоставлением пользователям подробной информации о возникшем исключении:
-
Раскрывает подробности о реализации вашего программного обеспечения, которые теоретически могут быть использованы злоумышленниками.
-
Пользователи (даже продвинутые пользователи) ничего не могут поделать с исключением, когда оно происходит. Они все еще просто пользователи. Зачем сообщать кому-то подробности о проблеме, с которой они ничего не могут поделать?
Ответ №2:
Вы можете создать иерархию исключений, зависящих от домена, которые являются производными от System.Исключение.
Обычно эти исключения предоставляют только нетехническое простое, значимое для пользователя сообщение об ошибке. За сценой вы зарегистрируете исключение со всеми техническими подробностями.