2016-12-01 74 views

回答

1

由于异常过滤器在执行视图之前执行,因此您无法在视图中使用异常过滤器捕获异常。要捕捉这种类型的例外:

1-您可以使用UseExceptionHandler全局处理所有异常(这不是mvc特定的解决方案)。

2-使用ResultFilter赶上视图例外(这是知道MVC上下文):

public class ExceptionResultFilter : ResultFilterAttribute 
{ 
    public override void OnResultExecuted(ResultExecutedContext context) 
    { 
     if(context.Exception != null) 
     { 
      // log exception 
     } 
     base.OnResultExecuted(context); 
    } 
}