RsCode异常处理简介
RsCodef将异常信息分为系统异常和业务异常两种,分别是Exception
和AppException
。
系统异常会记录到日志文件中,前端收到的响应结果为内部错误,请重试
业务级异常不记录日志,前端将收到统一的json格式消息,httpStatusCode=200
json
{
success:false, //业务正常时为true,否则为false
code:200, //业务级代码定义
msg:'xxx',
result:''
}
RsCode异常处理使用
引用
RsCode.AspNetCore
,添加业务异常过滤服务,调用AppException
可以实现业务级异常处理调用方式一:使用异常拦截器
csharpservices.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文档
调用
csharpthrow new AppException("出错了,哈哈"); //业务异常