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>();
});

 

posted @ 2023-09-08 10:55  小雨转晴被占用了  阅读(109)  评论(0)    收藏  举报