1、控制器
public class UserController : Controller
{
// GET: User
[HandleError(ExceptionType = typeof(Exception), View = "MyError")]-----MyError这个视图会接收异常
public ActionResult Index()
{
throw new Exception("Sorry,threre is an error in your web server.");--------控制器抛出异常。
}
}
2、接收异常信息的视图MyErro
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title></title>
</head>
<body>
<div>
@Model.Exception.GetType().Name<br />
@Model.Exception.Message<br />
@Model.ControllerName<br />
@Model.ActionName<br />
@Model.Exception.StackTrace<br />
</div>
</body>
</html>
3配置文件里创建异常过滤器
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
}
}
4在Global.asax 文件中注册
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
GlobalConfiguration.Configure(WebApiConfig.Register);
}
}
5web.config 文件:开启自定义错误配置
<system.web>
...
<customErrors mode="On"></customErrors>
</system.web>
转载自:https://www.cnblogs.com/wolf-sun/p/6757529.html