Go中recover與panic區(qū)別詳解
更新時間:2019年11月21日 10:04:38 作者:風云
這篇文章主要介紹了Go中recover與panic區(qū)別詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
概念
panic 與 recover 是 Go 的兩個內(nèi)置函數(shù),這兩個內(nèi)置函數(shù)用于處理 Go 運行時的錯誤。
panic用于主動拋出錯誤, recover 用來捕獲panic 拋出的錯誤。
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 {
// 拋出錯誤
panic("test")
z := x / y
return z
}
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
vscode插件設置之Golang開發(fā)環(huán)境配置全過程
go語言開發(fā)選擇vscode作為IDE工具也是一個不錯的選擇,下面這篇文章主要給大家介紹了關于vscode插件設置之Golang開發(fā)環(huán)境配置的相關資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2022-12-12
golang 64位linux環(huán)境下編譯出32位程序操作
這篇文章主要介紹了golang 64位linux環(huán)境下編譯出32位程序操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12

