在没有recover的情况下,painc会影响到哪个层次?
来源:10-7 面试题

Ahlemarg
2022-06-14
我觉得该题的答案应该选择 A
因为 panic会根据goroutine的调用顺序 来倒序抛出错误, 直到抛到main方法为止,
当处在main方法并且没有recover时, 则会导致程序直接崩溃.
package main
import (
"fmt"
"time"
)
func main() {
go func() {
for {
fmt.Println("goroutine A.")
}
}()
go func() {
time.Sleep(1 * time.Microsecond) // 为了确保 A 能跑起来
panic("goroutine B panic.")
}()
time.Sleep(1 * time.Second)
fmt.Println("Main goroutine.") // !!! 当没有recover时 会影响到main goroutine的正常执行.
}
老师您看我的理解是否正确?
写回答
2回答
-
Moody
2022-06-14
已经改了
00 -
Moody
2022-06-14
你说的是对的,这里弄错了,感谢反馈
00
相似问题
一个关于 expunged 标记的疑问
回答 1
接收数据时缓冲区为空的情况
回答 1
关于channel接收数据
回答 2
请问单线程的情况协程是否能做到并发?
回答 1
如何添加布隆过滤器
回答 1