调查下,有多少人用 panic + defer + recover 的?

329 天前
 via
1713 次点击
所在节点    Go 编程语言
5 条回复
securityCoding
328 天前
从来不没主动抛过 panic ,预期初始化资源失败直接 fatal 。。
qloog
328 天前
业务里用 panic 用的少,基本都是在应用启动时使用; defer + recover 一般在协程里使用,防止协程泄露或者意外 panic
lrh3321
328 天前
只在 main 函数里用 panic ,业务里不用。defer + recover 一般在协程里以防万一。
RTSmile
327 天前
几乎所有的错误处理我都会用到 defer + panic ,一来省的写一大堆 if err 判断,二来方便 err 的统一处理和格式化。

另外 golang 的 encoding/json 标准库中也直接用了 defer recover 来处理错误,这种做法官方也是认可的。
https://cs.opensource.google/go/go/+/refs/tags/go1.21.6:src/encoding/json/encode.go;drc=04c628935d1487632f903e4e0688fb7a34063752;l=285
windcode
185 天前
从来不主动 panic ,defer + recover 也只是用在协程中防止把主进程干崩

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1011952

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX