asp.net-mvc – 错误处理在asp.net mvc 3

有没有内置或适当的方式来处理错误asp.net mvc 3?

这是我想做的:

>如果应用程序崩溃或抛出错误,它会转到特定的错误页面。
>我可以从控制器操作中抛出我自己的错误。 (并转到错误页面)。

我发现了以下几种方式:

>我看到有很长的路要走
here.(对于v1和v2,但也
适用于v3)。
>使用errorhandle属性here

我如何处理这个正确的方法?

如果解决方案类似或像上面的列表中的#1,我使用ninject和我没有创建一个基类。我如何仍然这样做?

解决方法

用于全局错误处理
所有你需要做的是在web.config页面中更改customErrors模式=“开”
错误将通过Error.cshtml显示在共享文件夹中。
确保Error.cshtml布局不为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属性添加到控制器类中的特定操作。为该特定错误提供“视图”和“ExceptionType”。
示例未实现异常处理程序:

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

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....