本篇文章為大家展示了go語言中如何使用panic和recover,內(nèi)容簡明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
創(chuàng)新互聯(lián)建站主要從事成都網(wǎng)站制作、做網(wǎng)站、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)無為,10年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220
go中可以拋出一個(gè)panic的異常,然后在defer中通過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")
}
上述內(nèi)容就是go語言中如何使用panic和recover,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。