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