Files
the-way-to-go_ZH_CN/eBook/18.6.md
Haigang Zhou fa1cfcc67f 第十七十八章 (#833)
Co-authored-by: Joe Chen <jc@unknwon.io>
2022-05-19 19:57:23 +08:00

521 B
Raw Blame History

18.6 函数

如何使用内建函数 recover() 终止 panic() 过程(参考章节 13.3

func protect(g func()) {
    defer func() {
        log.Println("done")
        // Println executes normally even if there is a panic
        if x := recover(); x != nil {
            log.Printf("run time panic: %v", x)
        }
    }()
    log.Println("start")
    g()
}

链接