golang中defer和recover的使用
defer 内建函数,所在方法里退出时调用,一个方法里若有多个defer语句,则先声明的后被调用,一般与recover()函数一起配合使用,recover()一般用于捕捉panic抛出的异常,比如:panic(11), 捕捉到的就是11 func main() { defer func() { if v := recover();v == 11 { fmt.Printf("v: %#v\n",v) } fmt.Printf("defer1...\n") }() defer func() { fmt.Printf("defer2...\n") }() array := [2]int{1,2} fmt.Println("array: ",array[1]) panic(11) /*输出: array: 2 defer2... v: 11 defer1... */ } 来源: CSDN 作者: 晓恩ghm 链接: https://blog.csdn.net/qq_29291085/article/details/84883878