I'm trying to figure out how panic()
and recover()
works..
log package
package log
import (
"fmt"
)
func Recover() {
fmt.Println("Recovering!")
if err := recover(); err != nil {
fmt.Println("Error message recovered!")
}
}
main package
package main
import (
"fmt"
log "www/pkg/log"
)
func main() {
defer func() {
log.Recover()
}()
panic("Fake error!")
}
output
Recovering!
panic: Fake error!
Why is Error message recovered!
never printed?