Go中recover與panic區(qū)別詳解
概念
panic 與 recover 是 Go 的兩個(gè)內(nèi)置函數(shù),這兩個(gè)內(nèi)置函數(shù)用于處理 Go 運(yùn)行時(shí)的錯(cuò)誤。
panic用于主動(dòng)拋出錯(cuò)誤, recover 用來捕獲panic 拋出的錯(cuò)誤。
func main() { //捕獲 異常 defer func() { if p := recover(); p != nil { fmt.Printf("panic recover! p: %v", p) //類型判斷 str, ok := p.(string) if ok { err := errors.New(str) fmt.Println(err) } else { err := errors.New("panic") fmt.Println(err) } } }() fmt.Println("hello world") add(1, 0) } func add(x, y int) int { // 拋出錯(cuò)誤 panic("test") z := x / y return z }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Go panic和recover函數(shù)使用細(xì)節(jié)深入探究
- Go中的 panic / recover 簡(jiǎn)介與實(shí)踐記錄
- 一文帶你掌握Golang中panic與recover的使用方法
- GoLang中panic與recover函數(shù)以及defer語句超詳細(xì)講解
- Golang中panic與recover的區(qū)別
- Golang異常處理之defer,panic,recover的使用詳解
- Golang 錯(cuò)誤捕獲Panic與Recover的使用
- 小學(xué)生也能看懂的Golang異常處理recover panic
- go語言的panic和recover函數(shù)用法實(shí)例
- go語言異常panic和恢復(fù)recover用法實(shí)例
- Go語言panic和recover的用法實(shí)例
相關(guān)文章
詳解Golang利用反射reflect動(dòng)態(tài)調(diào)用方法
這篇文章主要介紹了詳解Golang利用反射reflect動(dòng)態(tài)調(diào)用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-11-11Golang 使用map需要注意的幾個(gè)點(diǎn)
這篇文章主要介紹了Golang 使用map需要注意的幾個(gè)點(diǎn),幫助大家更好的理解和學(xué)習(xí)golang,感興趣的朋友可以了解下2020-09-09詳解Go語言strconv與其他基本數(shù)據(jù)類型轉(zhuǎn)換函數(shù)的使用
這篇文章將以 string 類型為中心,通過 strconv 標(biāo)準(zhǔn)庫(kù),介紹其與其他基本數(shù)據(jù)類型相互轉(zhuǎn)換的函數(shù)。文中的示例代碼講解詳細(xì),感興趣的可以了解一下2022-12-12go并發(fā)數(shù)據(jù)一致性事務(wù)的保障面試應(yīng)答
這篇文章主要為大家介紹了go并發(fā)數(shù)據(jù)一致性事務(wù)的保障面試應(yīng)答,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12Go語言kube-scheduler深度剖析開發(fā)之scheduler初始化
這篇文章主要介紹了Go語言kube-scheduler深度剖析開發(fā)之scheduler初始化實(shí)現(xiàn)過程示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04詳解Go語言如何利用高階函數(shù)寫出優(yōu)雅的代碼
高階函數(shù)(Hiher-order?Function)定義為:滿足下列條件之一的函數(shù):接收一個(gè)或多個(gè)函數(shù)作為參數(shù);返回值是一個(gè)函數(shù)。本文為大家介紹了如何利用高階函數(shù)寫出優(yōu)雅的代碼,希望對(duì)大家有所幫助2023-01-01