我尝试检查下面的 filterContext.Exception 操作是否引发了异常:
public class Test : ActionFilterAttribute
[...]
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
if (filterContext.Exception != null)
{
continue;
}
}
控制器中的:
[Test]
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Login(Usuarios usuario)
{
try
{
throw new Exception();
}
catch
{
}
}
filterContext.Exception 始终为null。我无法在此处捕获此信息。
任何想法?
答案 0 :(得分:3)
那是因为异常永远不会逃避动作方法,因为一旦你抛出它就会被捕获。我很惊讶您的代码编译,因为您没有return语句。无论如何,试试这个动作方法:
[Test]
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Login(Usuarios usuario)
{
throw new Exception();
}