【发布时间】:2016-08-31 09:54:59
【问题描述】:
我正在处理异常,并为此编写了以下代码。
Web.Config
<customErrors mode="On"></customErrors>
代码更改
public class CustomExceptionFilter : HandleErrorAttribute
{
public override void OnException(ExceptionContext filterContext)
{
//_logger.Error("Uncaught exception", filterContext.Exception);
ViewResult view = new ViewResult();
view.ViewName = "Error";
filterContext.Result = view;
// Prepare the response code.
filterContext.ExceptionHandled = true;
filterContext.HttpContext.Response.Clear();
filterContext.HttpContext.Response.TrySkipIisCustomErrors = true;
}
}
Global.asax
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
// To handle exceptions
GlobalFilters.Filters.Add(new CustomExceptionFilter());
var unityContainer = ModelContainer.Instance;
DependencyResolver.SetResolver(new UnityDependencyResolver(unityContainer));
}
错误视图
@*@model System.Web.Mvc.HandleErrorAttribute*@
<div class="row">
<div class="col-sm-12">
<h1>Error</h1>
<div class="col-sm-12">
<h2>An error occurred while processing your request.</h2>
</div>
</div>
</div>
在我的错误视图中,我想显示异常消息。
另外我还有一个要求是在404 error 存在的情况下显示不同的消息。
【问题讨论】:
标签: c# asp.net exception asp.net-mvc-5