golang panic的使用

前端之家收集整理的这篇文章主要介绍了golang panic的使用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

golang中提供panic用于错误处理。
调用panic()时,正常的执行流程将停止。defer定义的操作还是会执行,然后一层一层向上返回,直到整个进程终止。

例如:

package main


import ( "fmt" ) func main() { foo() } func foo(){ defer func (){ fmt.Println("defer end...") }() panic("error test.....") fmt.Println("END") }

output:

$ ./orange

defer end… //defer定义的
panic: error test…..

goroutine 1 [running]:
main.foo()
/home/lanyang/src/hello/orange.go:26 +0x8b
main.main()
/home/lanyang//src/hello/orange.go:13 +0x27

可以看到调用panic后,除了执行defer操作外,函数调用栈被逆向依次打印出来。

猜你在找的Go相关文章