прохождение исключения при пользовательских ошибках - PullRequest
0 голосов
/ 06 июля 2011

У меня есть следующее в моем web.config.Это прекрасно работает, но мне интересно, возможно ли поймать исключение на этой странице.Допустим, я выбрасываю исключение в «/ Products / 12345», я хотел бы написать сообщение об исключении в «/ Error»

<customErrors mode="On">
        <error statusCode="404" redirect="/Error"  />
</customErrors>

1 Ответ

1 голос
/ 06 июля 2011

Да - когда вы настраиваете новый шаблон «Internet mvc app», он уже настроен для вас по адресу /Shared/Error.cshtml, но вы должны немного его изменить, чтобы обработать детали. MVC3 использует [HandleError] глобально для обработки этого.

Измените страницу по умолчанию на HandleErrorInfo, например:


@model System.Web.Mvc.HandleErrorInfo

@{
    ViewBag.Title = "Error";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<h2>Error</h2>

<p>
  Controller: @(((HandleErrorInfo)ViewData.Model).ControllerName)
</p>
<p>
  Action: @(((HandleErrorInfo)ViewData.Model).ActionName)
</p>
<p>
  Message: @(((HandleErrorInfo)ViewData.Model).Exception.Message)
</p>
<p>
  Stack Trace: @(((HandleErrorInfo)ViewData.Model).Exception.StackTrace)
</p>


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