我有一个基本控制器类,我将在其中覆盖 Controller.OnException 处理程序方法,以便为将从此类继承的某些类型的控制器提供通用错误处理(这些是将返回 JSON 结果的 API 控制器)。当控制器引发异常时,永远不会调用 OnException 方法。有没有人看到我做错了什么,或者有没有更好的方法来处理这种情况?
使用 MVC 1.0
基类:
public class APIController : Controller
{
protected override void OnException(ExceptionContext filterContext)
{
//This is never called
filterContext.Result =
new JsonResult();
base.OnException(filterContext);
}
}
继承类:
public class MyController : APIController
{
public AjaxResult ForcedException()
{
throw new SystemException();
}
}