Go的异常处理 defer, panic, recover
2017-03-01 16:35
471 查看
这几个异常的使用场景可以这么简单描述:Go中可以抛出一个panic的异常,然后在defer中通过recover捕获这个异常,然后正常处理。
例子代码:
packagemain
import"fmt"
funcmain(){
deferfunc(){//必须要先声明defer,否则不能捕获到panic异常
fmt.Println("c")
iferr:=recover();err!=nil{
fmt.Println(err)//这里的err其实就是panic传入的内容,55
}
fmt.Println("d")
}()
f()
}
funcf(){
fmt.Println("a")
panic(55)
fmt.Println("b")
fmt.Println("f")
}
输出结果:
a
c
55
d
exitcode0,processexitednormally.
相关文章推荐
- Go的异常处理 defer, panic, recover<转载>
- Go的异常处理 defer, panic, recover
- Go的异常处理 defer, panic, recover<转载>
- Go编程基础—defer、panic、recover处理异常
- Go的异常处理 defer, panic, recover<转载>
- Go的异常处理 defer, panic, recover
- Go的异常处理 defer, panic, recover
- go语言中的defer、panic、recover处理异常
- Go的异常处理 defer, panic, recover
- Go的异常处理 defer, panic, recover
- Go的异常处理 defer, panic, recover
- go语言中的defer、panic、recover处理异常
- 谈一谈Go的异常处理机制——panic和recover的使用和原理
- golang学习的点点滴滴:异常处理 defer, panic, recover
- GO语言异常处理机制panic和recover分析
- Go基础编程:异常处理(error接口、panic、recover)
- GO语言异常处理机制panic和recover分析
- go 速学 - 10 - defer 与异常处理
- Go panic, defer, recover 的异常处理
- 53.笔记go语言——defer,panic,recover使用场景