为什么呼叫defer func() { recover() }()成功恢复恐慌goroutine,但呼叫defer recover()不?
作为一个简约的例子,这段代码并不恐慌
package main
func main() {
defer func() { recover() }()
panic("panic")
}
Run Code Online (Sandbox Code Playgroud)
但是,用恢复直接替换匿名函数恐慌
package main
func main() {
defer recover()
panic("panic")
}
Run Code Online (Sandbox Code Playgroud)