1、recover的使用

示例:

package main
 
import "fmt"
 
func testa() {
    fmt.Println("111111111111111")
}
 
func testb(x int) {
    //设置recover,recover只能放在defer后面使用
    defer func() {
        //recover() //可以打印panic的错误信息
        //fmt.Println(recover())
        if err := recover(); err != nil { //产生了panic异常
            fmt.Println(err)
        }
 
    }() //别忘了(), 调用此匿名函数
 
    var a [10]int
    a[x] = 111 //当x为20时候,导致数组越界,产生一个panic,导致程序崩溃
}
 
func testc() {
    fmt.Println("333333333333333")
}
 
func main() {
    testa()
    testb(20) //当值是1的时候,就不会越界,值是20的时候,就会越界报错。
    testc()
}

执行结果:

111111111111111
runtime error: index out of range //值越界
333333333333333

相关文章:

  • 2021-11-28
  • 2022-02-07
  • 2021-05-28
  • 2021-12-30
  • 2021-09-24
  • 2021-12-16
  • 2022-01-19
  • 2021-05-30
猜你喜欢
  • 2021-06-30
  • 2022-03-09
  • 2021-05-29
  • 2022-12-23
  • 2021-12-06
  • 2021-12-25
  • 2023-02-20
相关资源
相似解决方案