go的异常处理panic/recover
go的异常处理panic/recover
Go语言中目前(Go1.12)是没有异常机制,但是使用panic/recover模式来处理错误。 panic可以在任何地方引发,但recover只有在defer调用的函数中有效
package main
import (
	"fmt"
)
func funcA() {
	fmt.Println("func A")
}
func funcB() {
	defer func() {
		err := recover()
		//如果程序出出现了panic错误,可以通过recover恢复过来
		if err != nil {
			fmt.Println("recover in B")
			fmt.Println(err)
		}
	}()
	panic("panic in B")
}
func funcC() {
	fmt.Println("func C")
}
func main() {
	funcA()
	funcB()
	funcC()
}
// func A
// recover in B
// panic in B
// func C

 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号