C# 全局异常过滤器
1、定义一个类 使其继承 IExceptionFilter 接口
public class MyExceptionFilter : IExceptionFilter { public MyExceptionFilter(ILogger<MyExceptionFilter> logger) { Logger = logger; } public ILogger<MyExceptionFilter> Logger { get; } public void OnException(ExceptionContext context) { if (!context.ExceptionHandled) { Logger.LogInformation($"全局异常过滤器:{context.Exception.Message}"); context.Result = new ContentResult { Content = "服务器异常,请稍后再试。。" }; } context.ExceptionHandled = true; } }
2、在program 中配置
builder.Services.AddControllers(x => { x.Filters.Add<MyExceptionFilter>(); });