常见错误码及定义-飞外

错误码为 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种错误应该够用;

参考:
淘宝开放平台
公共返回码说明
Error code - 微博API
http://my.oschina.net/foxty/blog/382344


批量操作已开始,请先调用end_batch接口结束前一个批量操作 begin_batch already called, please make sure to call end_batch first 结束批量操作的接口调用不应该在start_batch接口之前被调用 end_batch called before start_batch 每个批量调用不能包含多于20个接口调用 Each batch API can not contain more than 20 items 该接口不适合在批量调用操作中被使用 Method is not allowed in batch mode