使用HandleErrorAttribute在MVC中处理异常
本文关键字:处理 异常 MVC HandleErrorAttribute 使用 | 更新日期: 2023-09-27 18:04:01
我想在我的MVC项目中使用自定义错误属性实现异常处理。
这里提供的第四个例子是不完整的,因为我们应该在哪里输入视图名,控制器名等,以及如何用新属性装饰控制器和动作。
创建自定义错误属性
public class MyCustomErrorAttribute : HandleErrorAttribute
{
public override void OnException(ExceptionContext filterContext)
{
var controllerName = filterContext.RouteData.Values["controller"];
var actionName = filterContext.RouteData.Values["action"];
//Do something with the Controller or Action, e.g. Logging the exception
base.OnException(filterContext);
}
}
然后将以下代码添加到Global.asax.cs
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(MyCustomErrorAttribute);
}
然后简单地在控制器级别使用属性,如
[MyCustomErrorAttribute]
public class HomeController: Controller
{
}
或在操作方法级别上
public class HomeController: Controller
{
[MyCustomErrorAttribute]
public ActionResult Index(){
}
}