 Go在工程实践的错误处理Golang在工程实践中的错误处理 彭友顺 石墨文档 产研负责人 目 录 为什么我们处理错误会这么慢 01 如何完善错误信息 02 优雅处理错误信息 03 分布式错误处理 04 错误信息手册的必要性 05 为什么我们处理错误 会这么慢 第一部分 错误信息不够完善 why 原因 出现 错误 定位 慢 恢复 慢 效率低 为什么我们处理错误会这么慢 错误处理不够优雅 分布式错误难以串联 再看Error • 最后TraceId 错误信息手册的必要性 第五部分 为什么恢复慢?-- 错误手册 为什么年纪大的程序员会比年轻程序员排查问题更快 • 遇到的问题多 • 这些问题不会系统的出现在课本上 • 没遇到过的问题,很难意识到对应的操作手段 自动化 经验 识别 花很多时间,去排查线上问题,这是一个认知问题 为什么恢复慢?-- 错误手册 自动化 经验 识别 1. 将认知总结为文档 将认知总结为文档 2. 故障演练 为什么恢复慢?-- 错误手册 自动化 经验 识别 • 自己写文档,代码和文档不一致 • 有错误码找不到代码对应地方 • 有错误码不知道是哪个版本的代码 • 错误码在代码里还有没有使用,错误码越变越多, • 错误码腐化,没用的错误码应该随版本下线 • 错误码的 SOP,国际化问题 相关链接 各种组件实现调试和高亮信息 https://github.com/gotomicro/ego0 码力 | 30 页 | 3.11 MB | 1 年前3 Go在工程实践的错误处理Golang在工程实践中的错误处理 彭友顺 石墨文档 产研负责人 目 录 为什么我们处理错误会这么慢 01 如何完善错误信息 02 优雅处理错误信息 03 分布式错误处理 04 错误信息手册的必要性 05 为什么我们处理错误 会这么慢 第一部分 错误信息不够完善 why 原因 出现 错误 定位 慢 恢复 慢 效率低 为什么我们处理错误会这么慢 错误处理不够优雅 分布式错误难以串联 再看Error • 最后TraceId 错误信息手册的必要性 第五部分 为什么恢复慢?-- 错误手册 为什么年纪大的程序员会比年轻程序员排查问题更快 • 遇到的问题多 • 这些问题不会系统的出现在课本上 • 没遇到过的问题,很难意识到对应的操作手段 自动化 经验 识别 花很多时间,去排查线上问题,这是一个认知问题 为什么恢复慢?-- 错误手册 自动化 经验 识别 1. 将认知总结为文档 将认知总结为文档 2. 故障演练 为什么恢复慢?-- 错误手册 自动化 经验 识别 • 自己写文档,代码和文档不一致 • 有错误码找不到代码对应地方 • 有错误码不知道是哪个版本的代码 • 错误码在代码里还有没有使用,错误码越变越多, • 错误码腐化,没用的错误码应该随版本下线 • 错误码的 SOP,国际化问题 相关链接 各种组件实现调试和高亮信息 https://github.com/gotomicro/ego0 码力 | 30 页 | 3.11 MB | 1 年前3
 2.2.1 深入Go Module深入Go Module 鸟窝 细节、使用、坑以及未来 鸟窝 • Go微服务框架rpcx作者 • Go并发编程实战课专栏作者 • 《Scala集合技术手册》作者 目 录 Go 版本管理历史 01 认识 Go Module 02 使用 Go Module 03 血泪史 04 Go Module 未来特性 05 Go版本管理历史 第一部分 Go版本历史 GOPATH /2012/go0 码力 | 46 页 | 3.85 MB | 1 年前3 2.2.1 深入Go Module深入Go Module 鸟窝 细节、使用、坑以及未来 鸟窝 • Go微服务框架rpcx作者 • Go并发编程实战课专栏作者 • 《Scala集合技术手册》作者 目 录 Go 版本管理历史 01 认识 Go Module 02 使用 Go Module 03 血泪史 04 Go Module 未来特性 05 Go版本管理历史 第一部分 Go版本历史 GOPATH /2012/go0 码力 | 46 页 | 3.85 MB | 1 年前3
 Go Web编程面所有test文件测试完毕,当然你也可以带上参数,详情 请参考go help testflag go doc go doc 很多人说go不需要任何的第三方文档,例如chm手册之类的(其实我已经做了一个了,chm手册),因为它内部就有一 个很强大的文档工具。 如何查看相应package的文档呢? 例如builtin包,那么执行go doc builtin 如果是http包,那么执行go doc variable、coutinue、list、break 等经常用到的调试命令,通过上面的例子演示,我相信读者已经对于通过 GDB调试Go程序有了基本的理解,如果你想获取更多的调试技巧请参考官方网站的GDB调试手册,还有GDB官方网站的 手册。 links links 目录 上一节: 错误处理 下一节: Go怎么写测试用例 234 11.3 Go怎么写测试用例 11.3 Go怎么写测试用例 开发程序其中很0 码力 | 295 页 | 5.91 MB | 1 年前3 Go Web编程面所有test文件测试完毕,当然你也可以带上参数,详情 请参考go help testflag go doc go doc 很多人说go不需要任何的第三方文档,例如chm手册之类的(其实我已经做了一个了,chm手册),因为它内部就有一 个很强大的文档工具。 如何查看相应package的文档呢? 例如builtin包,那么执行go doc builtin 如果是http包,那么执行go doc variable、coutinue、list、break 等经常用到的调试命令,通过上面的例子演示,我相信读者已经对于通过 GDB调试Go程序有了基本的理解,如果你想获取更多的调试技巧请参考官方网站的GDB调试手册,还有GDB官方网站的 手册。 links links 目录 上一节: 错误处理 下一节: Go怎么写测试用例 234 11.3 Go怎么写测试用例 11.3 Go怎么写测试用例 开发程序其中很0 码力 | 295 页 | 5.91 MB | 1 年前3
 Go 入门指南(The way to Go)并获得有关本书的勘误情况和内容更新。 为了让你在成为 Go 语言大师的道路上更加顺利,我们会专注于一些特别的章节以提供 Go 语言开发模式 的最佳实践,同时也会帮助初学者逃离一些语言的陷阱。第 18 章可以作为你在开发时的一个参考手册, 因为当中包含了众多的有价值的代码片段以及相关的解释说明。 最后要说明的是,你可以通过完整的索引来快速定位你需要阅读的章节。书中所有的代码都在 Go1.4 版本 下测试通过。 这里有一段来自在0 码力 | 380 页 | 2.97 MB | 1 年前3 Go 入门指南(The way to Go)并获得有关本书的勘误情况和内容更新。 为了让你在成为 Go 语言大师的道路上更加顺利,我们会专注于一些特别的章节以提供 Go 语言开发模式 的最佳实践,同时也会帮助初学者逃离一些语言的陷阱。第 18 章可以作为你在开发时的一个参考手册, 因为当中包含了众多的有价值的代码片段以及相关的解释说明。 最后要说明的是,你可以通过完整的索引来快速定位你需要阅读的章节。书中所有的代码都在 Go1.4 版本 下测试通过。 这里有一段来自在0 码力 | 380 页 | 2.97 MB | 1 年前3
 Go 入门指南(The way to Go)有关本书的勘误情况和内容更新。 为了让你在成为 Go 语言大师的道路上更加顺利,我们会专注于一些特别的章节以提供 Go 语言开发模式的最佳实 践,同时也会帮助初学者逃离一些语言的陷阱。第 18 章可以作为你在开发时的一个参考手册,因为当中包含了众多 前言 - 12 - 本文档使用 书栈(BookStack.CN) 构建 的有价值的代码片段以及相关的解释说明。 最后要说明的是,你可以通过完整的索引来快速定位你需要阅读的章节。书中所有的代码都在0 码力 | 466 页 | 4.44 MB | 1 年前3 Go 入门指南(The way to Go)有关本书的勘误情况和内容更新。 为了让你在成为 Go 语言大师的道路上更加顺利,我们会专注于一些特别的章节以提供 Go 语言开发模式的最佳实 践,同时也会帮助初学者逃离一些语言的陷阱。第 18 章可以作为你在开发时的一个参考手册,因为当中包含了众多 前言 - 12 - 本文档使用 书栈(BookStack.CN) 构建 的有价值的代码片段以及相关的解释说明。 最后要说明的是,你可以通过完整的索引来快速定位你需要阅读的章节。书中所有的代码都在0 码力 | 466 页 | 4.44 MB | 1 年前3
共 5 条
- 1













