Водонепроницаемая обработка исключений с помощью Elmah в приложении MVC

Я пытаюсь разработать надежную стратегию обработки исключений для приложения MVC, в котором мы используем Elmah для регистрации необработанных исключений. Я хотел бы критиковать некоторые из моих мыслей.

  1. Все исключения приложений должны обрабатываться на уровне контроллера. Любое необработанное исключение ниже этого уровня должно быть результатом запроса от контроллера.
  2. В контроллерах разработчик может обрабатывать определенные ошибки с пользовательскими всплывающими окнами и т. Д. С необязательной регистрацией в Elmah.
  3. В контроллерах для необработанных ошибок я могу использовать настраиваемый атрибут HandleError, чтобы решить, следует ли просто позволить Elmah регистрировать ошибку или также перейти к просмотру ошибок.

Звук в порядке? Не хватает чего-нибудь серьезного?


person ProfK    schedule 03.08.2010    source источник
comment
Что ты спрашиваешь? Не зная ваших требований, трудно сказать, чего не хватает. Номер 2 также сбивает с толку этот вопрос, обрабатывая исключения и другие ошибки с помощью всплывающих окон пользователя.   -  person John Farrell    schedule 03.08.2010
comment
@jfar, в № 2, разработчик может поймать исключение и вернуть результат, показывающий пользователю ошибку во всплывающем окне в возвращенном представлении.   -  person ProfK    schedule 03.08.2010


Ответы (1)


Вы на правильном пути. Ознакомьтесь с образцом NerdDinner для некоторых примеров обработки ошибок в контроллерах.

В MVC вы можете создать настраиваемую фабрику контроллеров, которая будет внедрять атрибут HandleErrorWithElmah во все ваши контроллеры.

Ознакомьтесь с моей статьей проекта кода, которая касается входа в MVC - надеюсь, это поможет .

person Darren    schedule 25.08.2010