十一、Golang學習筆記:Error異常處理
阿新 • • 發佈:2021-01-18
技術標籤: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可以輸出異常資訊
}