实例1
package main
import (
"fmt"
)
func main() {
defer func() {
if r := recover(); r != nil {
fmt.Println("detail:", r)
}
}()
fmt.Println("before painc")
panic("error1")
panic("error2")
fmt.Println("after panic")
return
}
运行结果
before painc
detail: error1
实例2
package main
import (
"fmt"
)
func main() {
fmt.Println("before painc")
panic("error1")
panic("error2")
fmt.Println("after panic")
return
}
运行结果
before painc
panic: error1
goroutine 1 [running]:
main.main()
/home/kenmy/go/src/github.com/shadowsocks/shadowsocks-go/sample-config/panic.go:17 +0xdd