package main

import "fmt"
//相对于其他语言go的异常处理不是很强大 他没有try Ex go语言抛出异常panic 恢复异常recover 注意: recover要用于可能要抛出异常的语句前面recover()返回的值进行接收判断 err 使用前面defer 语句进行最后执行 用来恢复异常

// 异常处理
func a() {
    fmt.Println("开始执行")
    defer func() { //可能触发panic 之前进行defer recover
        err := recover()
        if err != nil {
            fmt.Println("异常回滚")
        }

    }()
    panic("异常退出a")
}

func b() {
    fmt.Println("开始执行")
}

// 异常处理
func main() {
    a()
    b()
}
最后修改:2022 年 11 月 29 日 03 : 53 PM
感谢您的,打赏!