golang的defer,recover,panic用法
2018-01-29 21:15
726 查看
示例如下:
输出:
after
normal panic
before
defer按照先进后出的原则执行.
recover()截获了panic()的行为, recover()返回的值不为nil. 否则为空.
由于触发了panic, 字符串”come on”没有被输出.
package main import ( "fmt" ) func defer_call() { defer func() { fmt.Println("before") }() defer func() { if p := recover(); p != nil { fmt.Println("normal panic") } else { fmt.Println("no panic") } }() defer func() { fmt.Println("after") }() panic("panic") fmt.Println("come on") } func main() { defer_call() }
输出:
after
normal panic
before
defer按照先进后出的原则执行.
recover()截获了panic()的行为, recover()返回的值不为nil. 否则为空.
由于触发了panic, 字符串”come on”没有被输出.
相关文章推荐
- golang之defer,panic,recover用法
- GO_05_2:Golang 中 panic、recover、defer 的用法
- golang 使用defer、panic、recover的问题
- golang中的defer panic recover
- 【GoLang】panic defer recover 深入理解
- golang 函数-defer-recover-panic
- Golang中的defer, panic, recover
- golang之defer、panic、recover
- golang学习的点点滴滴:异常处理 defer, panic, recover
- golang中recover和panic用法, goland里的try catch
- golang中recover和panic用法
- golang中recover和panic用法
- golang中recover和panic用法
- Go的异常处理 defer, panic, recover
- Golang panic recover
- Golang 笔记 4 defer、error、panic
- Go的异常处理 defer, panic, recover
- Golang异常处理-panic与recover
- Go编程基础—defer、panic、recover处理异常
- golang基础-new_make、recover_panic、append、闭包