the go blog defer panic recover
package main
import "fmt"
func main() {
fmt.Println("Start")
defer fmt.Println("Deferred statement")
panic("A panic occurred")
fmt.Println("End")
}
// Output:
// Start
// Deferred statement
// panic: A panic occurred
// goroutine 1 [running]:
// main.main()
// /path/to/your/file/main.go:10 +0x6b
// exit status 2