java 协议这个概念_《Java开发手册(泰山版)》定义了统一的错误码方案,是不是太理想化了?...

一个系统要是9999个错误码都不够用。。。那早就该拆分了。

需要升级加前导0即可。

多个服务的调用是链路追踪的概念,可以另外加trace_id,内部使用,不用暴露到外部。

错误码的解释可以由手册文档、配置中心的注释和下文提到的error_message来详细说明。

标准就是标准,具体实现是使用方自己的事。不同的架构和框架,具体实现方式肯定是不一样的。不需要统一的管理错误码的平台,只需要接入一个统一的配置中心,在上面配置就好了。

这个标准没什么大毛病,但是有优化空间,首先引入ABC虽然阅读和识别上有提升,但是只能把错误码定义为字符串类型,作为一个资深c党,看的不是很顺眼,当然是纯数字的整型效率最高,实现最优雅。

(加ABC也可以认为是十六进制的整数,但是内部要加0x转换,说明上也没有提到,那就只能认定是字符串类型了。)

另外统一配置中心之后(后端所有工具和服务加上前端客户端的大前端体系),code具体对应的error_message就不用在接口上传递了,接口只需要返回一个code。想想google的极简(1个bit表示性别,公共参数缩写极致如_t表示timestamp _u表示user),特别是对阿里的体量,一点点改进都可以在带宽、存储等等各方面的资源上节约不少,更不用说日积月累。在这些纯工程的环节阿里没有做到最极致的工程思维,才是比较让人失望的。

最后,对c党来说,最完美的错误码就是*inx的设计(mysql等无数开源项目都一脉相承):

0表示成功或者正常

所有大于0的十进制整数表示错误

具体到业务实现上可以分级,1-99用来定义公共的错误,如:参数校验错误、数据库失去连接、请求超时未响应等,后续各系统按照分段申请保留错误码段,如1000-1999用于用户体系,2000-2999用于商品体系,依次递增。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值