本文實(shí)例講述了go語(yǔ)言異常panic和恢復(fù)recover用法。分享給大家供大家參考。具體分析如下:
go中可以拋出一個(gè)panic的異常,然后在defer中通過(guò)recover捕獲這個(gè)異常,然后正常處理
在一個(gè)主進(jìn)程,多個(gè)go程處理邏輯的結(jié)構(gòu)中,這個(gè)很重要,如果不用recover捕獲panic異常,會(huì)導(dǎo)致整個(gè)進(jìn)程出錯(cuò)中斷
復(fù)制代碼 代碼如下:
package main
import "fmt"
func main() {
defer func() { //必須要先聲明defer,否則不能捕獲到panic異常
fmt.Println("c")
if err := recover(); err != nil {
fmt.Println(err) //這里的err其實(shí)就是panic傳入的內(nèi)容,55
}
fmt.Println("d")
}()
f()
}
func f() {
fmt.Println("a")
panic(55)
fmt.Println("b")
fmt.Println("f")
}
希望本文所述對(duì)大家的Go語(yǔ)言程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- Go語(yǔ)言異常處理案例解析
- Golang中異常處理機(jī)制詳解
- 深入理解golang的異常處理機(jī)制
- 利用golang實(shí)現(xiàn)封裝trycatch異常處理實(shí)例代碼
- 小學(xué)生也能看懂的Golang異常處理recover panic