Exception handling 视图中的ASP.NET核心异常处理
为什么asp.net核心视图中抛出的异常不经过全局异常过滤器?如何捕获并记录这些异常?由于异常过滤器是在视图执行之前执行的,所以使用异常过滤器无法捕获视图中的异常。要捕获此类异常,请执行以下操作: 1-您可以使用Exception handling 视图中的ASP.NET核心异常处理,exception-handling,asp.net-core,asp.net-core-mvc,Exception Handling,Asp.net Core,Asp.net Core Mvc,为什么asp.net核心视图中抛出的异常不经过全局异常过滤器?如何捕获并记录这些异常?由于异常过滤器是在视图执行之前执行的,所以使用异常过滤器无法捕获视图中的异常。要捕获此类异常,请执行以下操作: 1-您可以使用UseExceptionHandler全局处理所有异常(这不是mvc特定的解决方案) 2-使用ResultFilter捕获视图中的异常(这是了解mvc上下文的): public class ExceptionResultFilter : ResultFilterAttribute {
UseExceptionHandler
全局处理所有异常(这不是mvc特定的解决方案)
2-使用ResultFilter
捕获视图中的异常(这是了解mvc上下文的):
public class ExceptionResultFilter : ResultFilterAttribute
{
public override void OnResultExecuted(ResultExecutedContext context)
{
if(context.Exception != null)
{
// log exception
}
base.OnResultExecuted(context);
}
}