1. 程式人生 > 其它 >十一、Golang學習筆記:Error異常處理

十一、Golang學習筆記:Error異常處理

技術標籤:Golang語言開發gogolang程式語言go語言


Golang中異常處理:異常概念、panic函式、異常處理過程、recover錯誤攔截。


文章目錄

異常概念

func main(){
    num := TestError(10,0)//除數為0明顯錯誤,命令列報錯
    fmt.Println(num)
}
func TestError(num1 int,num2 int) int{
    result := num1/numn2
    return result
}

panic函式

panic函式:程式設計師自己不會呼叫該函式,但是如果程式設計師自己寫的程式中出現了比較嚴重的異常,那麼系統內部會呼叫該函式,終止整個程式的執行。

func main(){
    Test()
}
func Test(){
    fmt.Println("hhh")
    panic("abc")//引發異常,從而強制終止整個程式的執行。
    fmt.Println("hello")
}

異常處理過程

func main(){
    num,err := TestError(10,0)//除數為0明顯錯誤,命令列報錯
    if err!=nil{
        fmt.Println(err)
    }else{
        fmt.Println(num)
    }
fmt.Println(num) } func TestError(num1 int,num2 int) (result int,err error){//返回多個值 err = nil if num2==0{ err = errors.New("除數不能為0")//描述錯誤資訊 return } result = num1/numn2 return }

recover錯誤攔截

注意:recover只有在defer呼叫的函式中有效

func main(){
    Test(11)
}
func Test
(n int){ defer TestRecover() //不會列印異常資訊 攔截隱藏 var num[10] int num[n] = 12 //下標越界 fmt.Println(num) } func TestRecover(){ fmt.Println(recover()) //使用fmt可以輸出異常資訊 }