go中recover的错误用法
来源:互联网 发布:mac os acl 编辑:程序博客网 时间:2024/09/21 06:22
recover()函数可以用于获取/拦截panic。recover()仅在defer中被调用时,才能完成此功能。
package main
import "fmt"
func main() {
panic("not good") //抛出异常,下面代码不会执行
recover() //收不到异常
fmt.Println("ok")
}
输出:
main.main()
/Users/xxx/gowork/study/test/test.go:4 +0x20
exit status 2
真确的用法:
package main
import "fmt"
func main() {
defer func() {
fmt.Println("recovered:",recover())
}()
panic("not good")
}
recovered()在defer中简介通过函数调用将不能捕获panic。
package main
import "fmt"
func doRecover() {
fmt.Println("recovered =>",recover())
}
func main() {
defer func() {
doRecover() //这里间接调用recover不能捕获panic
}()
panic("not good")
}
阅读全文
0 0
- go中recover的错误用法
- go语言之 panic, recover ——如何在go语言中优雅的处理错误
- GO panic和recover的用法
- Go语言中使用panic和recover简化错误处理
- 数据库中 go的用法
- go中select的用法
- Go的异常处理 defer, panic, recover
- Go的异常处理 defer, panic, recover
- Go的异常处理 defer, panic, recover
- Go的异常处理 defer, panic, recover
- Go panic, defer, recover 的异常处理
- Go的异常处理 defer, panic, recover
- Go开发中常见的错误解析
- go中容易犯的错误
- SQL SERVER 中 GO 的用法
- SQL SERVER中GO的用法
- SQL Server 中 GO 的用法
- Go中函数的不定参数用法
- 丑数
- JavaScript调试技巧之console.log()
- react native学习笔记4——FlexBox布局
- 字符串问题---翻转字符串
- Linux iscsi
- go中recover的错误用法
- TopoGrafix ExpertGPS Pro v5.15 1CD
- 【HDU 2433】Travel (BFS+最短路径树)
- 同源策略
- zzuli2180: GJJ的日常之沉迷数学
- Window.location.href以post方式传递参数的方法
- toString用法:将对象转换成字符串
- 最全面的水平垂直居中方案与flexbox布局
- LINUX 多线程