I was using a library which recover()
s from panics, and it was using code that simplifies to the following:
func main() {
defer rec()
panic("X")
}
func rec() {
rec2()
}
func rec2() {
fmt.Printf("recovered: %v
", recover())
}
The output of this is:
recovered: <nil>
panic: X
... more panic output ...
Notably, recover()
returns nil
instead of the error. Is this intended behavior?