Advertisement

核心内容:设计轻量级错误码;目标:最佳实践

阅读量:

概述

当前公司在团队项目中,遇到异常情况时并未采用错误码进行标识,仅通过错误信息进行反馈。随着微服务组件数量的持续增加,这种处理方式在跨团队协作及问题排查过程中造成了诸多不便。经过网络资料的查阅与分析后,决定对现有的错误码体系进行重新规划与设计。

设计目标

先分析当前企业的状况,现阶段我们采取的方式是通过抛出Java异常,将异常信息Message返回至其他服务或前端界面。这种方式存在哪些问题?

  1. 沟通效率较低,原本只需借助一个清晰的错误码即可完成交流,而使用异常信息则容易造成理解上的模糊性。
  2. 仅依赖异常消息难以准确判断具体是哪个服务引发的问题,也难以明确具体原因。由于异常消息具有一定的灵活性,不同服务甚至同一服务的不同模块都可能出现相似的描述。

因此,有必要构建一套错误码机制。那么,一个优秀的错误码设计应当满足哪些目标或遵循哪些原则呢?

我们可以借鉴阿里巴巴《Java 开发手册》中关于异常日志与错误码的相关内容。

制定错误码的原则包括:便于快速追溯、简洁易记、实现沟通标准化。

说明:若错误码设计过于复杂和理想化,则会如同康熙字典中的生僻字一般。虽然用词看似精准,但实际使用时却难以随身携带且不易理解。

正例:错误码应能回答两个关键问题——是谁的过错?错在何处?

1)错误码需要能够迅速识别出问题来源,并快速判断责任归属。
2)错

全部评论 (0)

还没有任何评论哟~