附录 B:Goroutine 与 panic、recover 的小问题 | Go 语言编程之旅
utterances-bot opened this issue · 2 comments
utterances-bot commented
附录 B:Goroutine 与 panic、recover 的小问题 | Go 语言编程之旅
附录 B:Goroutine 与 panic、recover 的小问题 在 Go 语言中,goroutine、panic、recover 是人尽皆知关键字,几乎在每一个项目中,你必定会主动地使用到它。即使你不主动使用,你也无法避免你所使用的标准库、第三方外部依赖模块使用它。
虽然它们在程序中非常常见,但依然会有许多刚入门的开发者在初次使用时遇到小 “坑”,并对这个处理结果都表现出很震惊,接下来在本文中我们将对
https://golang2.eddycjy.com/posts/appendix/02-goroutine-panic/
fighthorse commented
我的 panic 语句是写在子协程(goroutine)里的,怎么会影响外面的主协程(main goroutine)呢?
具体是为什么呢?
文章只讲了如何避免和解决。
itcuijian commented
在我的理解中,runtime.gopanic
方法在最后调用的是 runtime.fatalpanic
方法,而在 runtime.fatalpanic
中调用的是 runtime.exit(2)
,这是一个运行时中断方法,中断的是整个应用进程。实际上 runtime.exit
也是应用进程正常退出时调用的方法。