golang recover panic 流程控制的可达与不可达
2015-04-27 11:35
465 查看
--------------------------流程控制可达----------------------------- package main import "fmt" func explode() { // Cause a panic. panic("WRONG") } func throwPanic(f func()) { defer func() { if err := recover(); err != nil { // Handle our error. fmt.Println("FIX") fmt.Println("ERR", err) } }() f() fmt.Println(" finish") } func main() { throwPanic(explode) fmt.Println(" reach here ")//可达 } --------------------------流程控制不可达----------------------------- package main import "fmt" func explode() { // Cause a panic. panic("WRONG") } func main() { // Handle errors in defer func with recover. defer func() { if err := recover(); err != nil { // Handle our error. fmt.Println("FIX") fmt.Println("ERR", err) } }() // This causes an error. explode() fmt.Println(" reach here ")// 达不到 }
相关文章推荐
- golang用panic和recover做业务流程中断的尝试
- GO_05_2:Golang 中 panic、recover、defer 的用法
- golang基础-chan的select操作、定时器操作、超时控制、goroutine中使用recover
- GOLANG的PANIC和RECOVER
- golang recover from panic situation: - reflect: call of reflect.Value.Elem on struct Value
- Golang从入门到精通(二十一):Golang错误处理之panic-recover
- golang之defer、panic、recover
- golang之defer,panic,recover用法
- golang中recover和panic用法
- golang panic and recover
- golang中recover和panic用法
- Golang中的defer, panic, recover
- golang笔记——流程控制
- golang的defer,recover,panic用法
- golang panic recover
- Golang中的panic和recover
- golang中recover和panic用法, goland里的try catch
- golang中的defer panic recover
- golang错误处理之panic和recover
- 【GoLang】panic defer recover 深入理解