Skip to content

RsCode异常处理简介

RsCodef将异常信息分为系统异常和业务异常两种,分别是ExceptionAppException

系统异常会记录到日志文件中,前端收到的响应结果为内部错误,请重试

业务级异常不记录日志,前端将收到统一的json格式消息,httpStatusCode=200

json
{
    success:false, //业务正常时为true,否则为false
    code:200, //业务级代码定义
    msg:'xxx',
    result:''
}

RsCode异常处理使用

  1. 引用RsCode.AspNetCore,添加业务异常过滤服务,调用AppException可以实现业务级异常处理

    调用方式一:使用异常拦截器

    csharp
    services.AddMvc(o =>
    {
         o.Filters.Add<AppExceptionFilter>();
        //统一输入内容格式
         o.InputFormatters.Insert(0, new RsInputFormatter());
         //统一的消息返回格式
         o.OutputFormatters.Insert(0, new RsOutputFormatter("yyyy-MM-dd HH:mm:ss"));
    });

    调用方式二:使用中间件拦截异常

    csharp
    //app.UseExceptionHandler(_=> app.UseErrorHandler());
    app.UseErrorHandler();

    异常记录,可查看log文档

  2. 调用

    csharp
    throw new AppException("出错了,哈哈"); //业务异常