1
securityCoding 284 天前 via Android
从来不没主动抛过 panic ,预期初始化资源失败直接 fatal 。。
|
2
qloog 284 天前
业务里用 panic 用的少,基本都是在应用启动时使用; defer + recover 一般在协程里使用,防止协程泄露或者意外 panic
|
3
lrh3321 284 天前
只在 main 函数里用 panic ,业务里不用。defer + recover 一般在协程里以防万一。
|
4
RTSmile 283 天前
几乎所有的错误处理我都会用到 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 |
5
windcode 141 天前
从来不主动 panic ,defer + recover 也只是用在协程中防止把主进程干崩
|