基本介绍
GoFrame 框架提供了强大、丰富、统一的错误处理能力,由 gerror 组件实现。该组件也是框架统一的错误处理组件,框架所有组件如果存在错误返回时,均带有堆栈信息,方便开发者快速定位问题。
使用方式:
import "github.com/gogf/gf/v2/errors/gerror"
接口文档:
https://pkg.go.dev/github.com/gogf/gf/v2/errors/gerror
相关文档
📄️ 错误处理-常用方法
深入介绍`GoFrame`框架`gerror`组件的常用方法,包括错误创建方法`New/Newf`(创建带堆栈信息的错误)、错误包装方法`Wrap/Wrapf`(构造多级错误链)、以及高级方法`NewSkip/NewSkipf`和`WrapSkip/WrapSkipf`(忽略部分堆栈信息),帮助开发者有效管理和调试错误。
📄️ 错误处理-堆栈特性
深入讲解`GoFrame`框架`gerror`组件的堆栈追溯功能,通过`New`、`Wrap`等方法自动记录错误产生时的完整堆栈信息。介绍`HasStack`判断错误是否包含堆栈、`Stack`获取堆栈信息列表、`Current`获取当前层级错误等方法,增强错误调试和问题定位能力。
📄️ 错误处理-错误比较
详细讲解`GoFrame`框架`gerror`组件的错误比较功能,包括三个核心方法:`Equal`用于完整判断两个错误是否相同(比较错误码和错误信息);`Is`用于判断错误链中是否包含特定目标错误;`As`用于将错误链中的错误转换为特定类型。介绍相关接口定义`IEqual`和使用示例,帮助开发者进行精确的错误比较和类型转换。
📄️ 错误处理-国际化支持
详细介绍`GoFrame`框架`gerror`组件的国际化支持功能(`v2.10.0+`),通过`ITextArgs`接口分离错误消息模板和参数,实现错误信息的多语言翻译。讲解`Text()`、`Args()`方法的使用,并提供国际化处理、结构化日志记录、错误聚合等实际应用场景示例。
📄️ 错误处理-其他特性
详细介绍`GoFrame`框架`gerror`组件的高级特性,包括使用`NewWithOption`自定义错误对象创建、`fmt`格式化符号(`%v`、`%+v`等)打印堆栈信息、`glog`日志组件对`gerror`的天然支持,以及通过环境变量`GF_GERROR_STACK_MODE`配置堆栈打印模式(简略/详细)。
📄️ 错误处理-最佳实践
总结`GoFrame`框架`gerror`组件的错误处理最佳实践,重点讲解两个核心要点:使用`%+v`格式化符号打印完整的错误堆栈信息以便调试;在使用`Wrap`方法包裹错误时避免将原错误信息再次打印到错误字符串中,防止错误信息重复显示。通过正确和错误的代码示例对比,帮助开发者掌握正确的错误处理方式。
📄️ 错误处理-性能测试
提供`GoFrame`框架`gerror`组件各种错误处理方法的基准性能测试结果,包括`New`、`Newf`、`Wrap`、`Wrapf`、`NewSkip`、`NewCode`等常用方法的性能数据。通过详细的`Benchmark`测试数据展示每个操作的执行时间、内存分配和调用次数,帮助开发者了解不同错误处理方法的性能开销,为性能优化提供参考依据。
🗃️ 错误处理-错误码特性
5 个项目