このクラスから継承する特定のタイプのコントローラー(これらはJSON結果を返すAPIコントローラー)の一般的なエラー処理を提供するために、Controller.OnExceptionハンドラーメソッドをオーバーライドする基本コントローラークラスがあります。コントローラによって例外が発生したときに、OnExceptionメソッドが呼び出されることはありません。誰かが私が間違っていることを知っていますか、またはこの状況を処理するためのより良い方法がありますか?
MVC1.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();
}
}