首页  

GO panic recover     所属分类 go 浏览量 855
panic 异常 ,后面的代码不会执行
加defer,panic之前先执行defer
defer里加上recover,修复后继续执行

defer 在引发panic之前定义
recover()必须搭配defer使用


panic_recover_demo.go

package main

import "fmt"


func f1() {
    fmt.Println("run f1")
}

func f2() {
    defer func(){
        err := recover()
        fmt.Println("recover in deferOfF2",err)
        fmt.Println("deferOfF2_release_resource")
    }()
    fmt.Println("run f2")   
    panic("run_f2_error")
    fmt.Println("run after")
}
func f3() {
    fmt.Println("run f3")
}
func main() {
    f1()
    f2()
    f3()
}

https://gitee.com/dyyx/hellocode/blob/master/web/tech/go/demo/panic_recover_demo.go


go defer 延迟函数

上一篇     下一篇
GO flag 命令行参数解析

保险合同要点

开公司要知道的财税制度

GO字符串拼接

go socket 编程 echo server

java HTTP Server NanoHttpd