常见错误码及定义
- 错误码暂定都是5位数字,并配有相应的英文解释
- 错误码为 0 表示成功,其余都表示错误
- 错误码按模块按功能场景分级分段,前三位错误码表示模块,第四位表示模块下的功能。举例,商城系统里有交易模块和商品模块,则能够这样划分:401开头的表示交易模块,402开头的表示商品模块,4011开头的表示交易模块里的下单场景须要用到的错误码,4021表示商品模块下的添加商品场景里须要用到的错误码。若是某个场景功能下须要的比较多的错误码,则能够使用其余未被使用的码段,即该场景功能能够拥有多个码段,而后经过添加注释等方式让人理解便可。
- 数字 1 开头的错误码表示系统级别的错误,好比缺乏某种字符集,连不上数据库之类的,系统级的错误码不须要分模块,能够按照自增方式进行添加
- 数字 4 开头的错误码表示API参数校验失败,好比 “交易模块下单场景中,订单金额参数不能为空” 能够用 40111 错误码来表示
- 数字 5 开头的错误码表示后台业务校验失败,好比 “交易模块下单场景中,该用户没有下单权限” 能够用 50111 错误码来表示
- 数字 4 开头的错误码与数字 5 开头的错误码对应的模块分类须要保持一致,即 4011 表示交易模块下单场景的API错误,5011 表示交易模块下单场景的业务错误
- 错误码按需分配,逐步增长,灵活扩展
网上确实没有比较成熟或者通用的设计方法,只能参考目前几大互联网巨头们的设计方法,而后结合实际需求设计出符合本身公司的解决方案。数据库
把我目前设计的错误码方案分享给你们:
统一格式:A-BB-CCC
A:错误级别,如1表明系统级错误,2表明服务级错误;
B:项目或模块名称,通常公司不会超过99个项目;
C:具体错误编号,自增便可,一个项目999种错误应该够用;spa
参考:
淘宝开放平台
公共返回码说明
Error code - 微博API
http://my.oschina.net/foxty/blog/382344.net