本文實例講述了go語言異常panic和恢復recover用法。分享給大家供大家參考。具體分析如下:
go中可以拋出一個panic的異常,然后在defer中通過recover捕獲這個異常,然后正常處理
在一個主進程,多個go程處理邏輯的結構中,這個很重要,如果不用recover捕獲panic異常,會導致整個進程出錯中斷
import "fmt"
func main() {
defer func() { //必須要先聲明defer,否則不能捕獲到panic異常
fmt.Println("c")
if err := recover(); err != nil {
fmt.Println(err) //這里的err其實就是panic傳入的內容,55
}
fmt.Println("d")
}()
f()
}
func f() {
fmt.Println("a")
panic(55)
fmt.Println("b")
fmt.Println("f")
}
希望本文所述對大家的Go語言程序設計有所幫助。