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