加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

golang panic的使用

发布时间:2020-12-16 18:04:25 所属栏目:大数据 来源:网络整理
导读:golang中提供panic用于错误处理。 当调用panic()时,正常的执行流程将停止。defer定义的操作还是会执行,然后一层一层向上返回,直到整个进程终止。 例如: package main import ( "fmt" ) func main () { foo () } func foo () { defer func () { fmt .P ri

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操作外,函数调用栈被逆向依次打印出来。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读