美文网首页
异常处理

异常处理

作者: 殷临风 | 来源:发表于2016-07-08 21:22 被阅读108次

Go 的异常处理不同于其他语言使用的结构

try {

} catch (e) {

} finally {

} 

对于 go 的异常处理, 使用 defer, panic, recover

func main() {
    defer func() { // 必须要先声明defer,否则不能捕获到panic异常
        fmt.Println("c")
        if err := recover(); err != nil {
            fmt.Println(err) // 这里的err其实就是panic传入的内容,55
        }
        fmt.Println("d")
    }()

    test()
}

func test() {
    fmt.Println("a")
    panic(55)
    fmt.Println("b")
    fmt.Println("f")
}

输出结果: a c 55 d

defer 捕获异常
panic 抛出异常
recover 处理异常

相关文章

网友评论

      本文标题:异常处理

      本文链接:https://www.haomeiwen.com/subject/xhsrjttx.html