recover()

What will be printed when the code below is executed?What will be the exit code after the code below is executed?

  1. package main
  2. import "log"
  3. func f() {
  4. defer func() {
  5. if r := recover(); r != nil {
  6. log.Printf("recover:%#v", r)
  7. }
  8. }()
  9. panic(1)
  10. panic(2)
  11. }
  12. func main() {
  13. f()
  14. }

Answer

  1. 2009/11/10 23:00:00 recover:1