系统返回码规则建议
Posted zero13_小葵司
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了系统返回码规则建议相关的知识,希望对你有一定的参考价值。
为什么要统一返回码
返回码返回与传达了系统发生了什么,对于定位问题,找到解决方案是非常重要的一环。要使用好返回码,也需要对于异常处理错误处理有良好的理解。
返回码反映了系统的异常情况,异常提供了一种识别及响应错误情况的一致性机制,有效地异常处理能使程序更加健壮、易于调试。异常之所以是一种强大的调试手段,在于其回答了以下三个问题:
- 什么出了错?
- 在哪出的错?
- 为什么出错?
在有效使用异常的情况下,异常类型回答了“什么”被抛出,异常堆栈跟踪回答了“在哪“抛出,异常信息回答了“为什么“会抛出,如果你的异常没有回答以上全部问题,那么可能你没有很好地使用它们。有三个原则可以帮助你在调试过程中最大限度地使用好异常,这三个原则是:
- 具体明确
- 提早抛出
- 延迟捕获
异常可以在系统内处理,但是对于系统平台的异常,为了让其他系统知道自己发生了什么,就需要有返回码。
在微服务系统中,因为系统众多,交互众多,如何在一次业务请求中,快速定位到系统异常,并便于监控报警系统搜集报警,都需要有统一的返回码规则。
返回码规则
基本规则
- 返回码由2部分组成
- 第一部分表示系统编号,由2位到3位大写英文字母组成,如:US->用户微服,PD->产品微服,UB->用户授信基础服务
- 第二部分表示系统错误类型,由固定长度2位,大写英文字母或数字及组合构成,如:99(未知异常),96(调用下游系统无响应)
- 组合好之后形成,如:US99(用户微服发生未知异常),UB96(用户授信基础服务调用下游系统无响应)
- 特殊返回码
- 成功:0000 或 0(如果返回成功,固定使用0000或0,不携带系统编号)
- 系统内返回码传递
- 系统内返回码,如果不涉及到返回给外部(如客户端、第三方平台),可透传返回码
- 前置系统不可将系统内返回码直接透传出去
- 前置可作为统一搜集返回码之用,并将返回码报送至监控报警系统,便于统一监控报警分析
- 建议返回码错误类型(各个系统可根据实际情况,重新定义返回码,具体以各个系统自己的返回码为准)
- 业务失败
- 01:提现已结清,无需还款
- 02:还款上报期数包含已还期数,不能执行还款操作
- 03:重复流水号
- 04:订单处理中
- 05:绑卡已达到上限
- 06:无效卡号
- 07:无效手机号
- 08:此卡号已绑定
- 09:暂不支持该卡
- 10:验证码已交验过,请重新获取
- 11:请先获取短信验证码
- 12:短信验证码不正确
- 13:短信验证码已过期
- 14:订单无效或已过期
- 15:金额或周期无效
- 16:产品编号错误
- 17:无订单记录
- 18:订单无效
- 系统错误
- 90:系统繁忙,请稍后重试
- 91:下游系统响应超时
- 92:下游系统找不到或无法达到
- 93:数据库连接错误
- 94:数据库操作异常
- 99:未知异常
- 安全(权限)错误
- 61:该用户无权限进行此操作
- 62:操作过于频繁
- 参数错误
- 40:必填参数为空
- 41:必填参数无效
- 42:相应数据无效
- 43:签名校验失败
- 44:token不匹配
- 45:token已失效
- 46:请求参数错误
- 风控失败
- 21:用户处于风控管控期
- 22:已有额度,不可再次申请
- 23:人行征信存在负面信息
- 24:申请评分过低
- 25:客户资质过低
- 26:欺诈嫌疑或黑名单
- 27:有进行中订单
- 28:有拒绝记录
- 29:重复申请
- 平台方错误(资方、渠道)
- 业务失败
以上是关于系统返回码规则建议的主要内容,如果未能解决你的问题,请参考以下文章