defer和recover的配合

本文阅读 1 分钟
首页 golang 正文

题目序号:4562

题目来源:京东

频次:3

答案:陆户习习门

defer内建函数,延迟调用,所在函数退出时调用,一个方法里若有多个defer语句,则先声明的后被调用,一般与recover()函数一起配合使用,recover()一般用于捕捉panic抛出的异常,比如:panic(11), 捕捉到的就是11

func main() {

    defer func() {
        if v := recover();v == 11 {
            fmt.Printf("v: %#v
",v)
        }
        fmt.Printf("defer1...
")
    }()

    defer func() {
        fmt.Printf("defer2...
")
    }()

    array := [2]int{1,2}
    fmt.Println("array: ",array[1])
    panic(11)

    /*输出:
    array:  2
    defer2...
    v: 11
    defer1...
    */
}
本文来自投稿,不代表本站立场,如若转载,请注明出处:
了解中间件吗?有什么好处?
« 上一篇 09-17
Go 高并发的特点
下一篇 » 09-17

发表评论

发表评论