zoukankan      html  css  js  c++  java
  • Golang recover的使用

    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
  • 相关阅读:
    js静态成员和实例成员
    js构造函数
    js创建对象
    js演示面向对象
    JavaScript特点
    像素鸟游戏
    图片瀑布流
    微信聊天模拟
    飞机游戏动画特效
    SpringBoot 核心理论
  • 原文地址:https://www.cnblogs.com/zhangmingcheng/p/15205853.html
Copyright © 2011-2022 走看看