在没有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
相似问题