The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
via

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

  •  
  •   via · Jan 26, 2024 via iPhone · 2345 views
    This topic created in 849 days ago, the information mentioned may be changed or developed.
    5 replies    2024-06-19 16:29:15 +08:00
    securityCoding
        1
    securityCoding  
       Jan 28, 2024 via Android
    从来不没主动抛过 panic ,预期初始化资源失败直接 fatal 。。
    qloog
        2
    qloog  
       Jan 28, 2024
    业务里用 panic 用的少,基本都是在应用启动时使用; defer + recover 一般在协程里使用,防止协程泄露或者意外 panic
    lrh3321
        3
    lrh3321  
       Jan 28, 2024
    只在 main 函数里用 panic ,业务里不用。defer + recover 一般在协程里以防万一。
    RTSmile
        4
    RTSmile  
       Jan 29, 2024
    几乎所有的错误处理我都会用到 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
        5
    windcode  
       Jun 19, 2024
    从来不主动 panic ,defer + recover 也只是用在协程中防止把主进程干崩
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3621 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 04:52 · PVG 12:52 · LAX 21:52 · JFK 00:52
    ♥ Do have faith in what you're doing.