1

我是 MVC3 的新手。我已经为一些 CRUD 操作做了一个 MCV3 应用程序。

现在我想在 MVC3 中做一些错误处理。我在这里看到了一篇关于错误处理的文章。

  1. 有人可以简要解释一下 MVC 中的各种错误处理方法吗?
  2. 我们是否需要创建任何自定义类来处理错误处理?
4

1 回答 1

3

PS我用我对这个超级通用问题的理解来回答这个问题。

1 - 有人可以简要解释一下MVC中错误处理的各种方法吗?

对于全局错误处理
您所要做的就是更改 web.config 页面中的 customErrors mode="On"
错误将通过 Error.cshtml 显示在共享文件夹中。

确保 Error.cshtml Layout 不是 null
[它应该类似于:@{ Layout = "~/Views/Shared/_Layout.cshtml";
或删除 Layout=null 代码块] Error.cshtml
的示例标记:-

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

@model System.Web.Mvc.HandleErrorInfo

<!DOCTYPE html>
<html>
<head>
    <title>Error</title>
</head>
<body>
    <h2>
        Sorry, an error occurred while processing your request.
    </h2>
    <p>Controller Name: @Model.ControllerName</p>
    <p>Action Name : @Model.ActionName</p>
    <p>Message: @Model.Exception.Message</p>
</body>
</html>

对于特定错误处理
,将 HandleError 属性添加到控制器类中的特定操作。为该特定错误提供“视图”和“异常类型”。
NotImplemented 异常处理程序示例:

public class MyController: Controller
    {
        [HandleError(View = "NotImplErrorView", ExceptionType=typeof(NotImplementedException))]
        public ActionResult Index()
        {
            throw new NotImplementedException("This method is not implemented.");
            return View();
        }
}

2 - 我们是否需要创建任何自定义类来处理错误处理?

请参阅此实现错误处理过滤器

您还应该查看 Elmah Library 以进行错误记录。

于 2012-11-09T06:51:44.937 回答