一、项目错误处理痛点

为了方便接口出错时定位问题,代码中随处可见的日志打桩,并将其看做是一件理所当然的事,影响着后续项目维护的思路。

2、请求执行报错后缺少错误堆栈,难以快速定位问题

如下,当底层出现级别的错误时,在顶层看到的就一个错误信息,请问如何排查?

4、错误组件多样,自身项目往往还想当然再封装一层

错误处理的第三方组件也比较多,如何选择?甚至业务项目往往也想自己再封装一层,进一步提高错误处理组件的维护成本。

二、框架全错误堆栈设计

框架提供了业内功能最强大的错误处理组件,并且该组件也是框架内部广泛使用的错误组件,降低业务团队的选择成本。

2、统一错误处理方案

GoFrame框架提供了强大的工程设计规范,其中包含了必要的统一的错误处理方案。按照统一框架的工程设计,一些通用性的痛点已通过组件、工具的方式得以解决,使得业务团队能够将精力聚焦于业务本身,开发将会事半功倍。

全错误堆栈设计 - 图2

框架所有组件error返回对象均带有错误堆栈!

这是一件很难做到的事情,因为框架提供的组件几乎能够覆盖了大部分业务项目的所有需求,但是框架确实做到了。虽然框架在这块投入的成本比较大,但却是一次性投入、长期收益的事情。这也就意味着,如果业务项目在统一的GoFrame基础框架下,错误处理将会更加简便,错误堆栈丢失的风险得到了极大的降低,项目将会更加稳健、易于快速排错。

4、关键组件支持错误堆栈打印