Go基础_1_55 panic and recover
Tutorial: Go初级
Category: Go
Published: 2026-04-07 13:58:26
Views: 21
Likes: 0
Comments: 0
package main
import "fmt"
func myprint(s string) {
fmt.Println(s)
}
func funA() {
fmt.Println("我是一个函数funA()....")
}
func funB() {
fmt.Println("我是函数funB()...")
defer myprint("defer funB():1.....")
for i := 1; i <= 10; i++ {
fmt.Println("i:", i)
if i == 5 {
panic("funB函数,恐慌了")
}
}
defer myprint("defer funB():2.....")
}
func main() {
defer func() {
if msg := recover(); msg != nil {
fmt.Println(msg, "程序回复啦。。。")
}
}()
funA()
defer myprint("defer main:3.....")
funB()
defer myprint("defer main:4.....")
fmt.Println("main..over。。。。")
}