go 錯誤處理panic recover
當程式遇到致命錯誤時,就是停止執行
Go 通過 panic 函式來報告致命錯誤
func testError1(){ panic(errors.New("this is a error")) }
程式碼執行中出現錯誤
比如陣列越界
index := 4 arr := []int{1,2,3} _= arr[index]
那如何“攔截”執行時發生的錯誤?
recover函式
會返回一個interface{} 型別的結果,如果程式發生錯誤,就會返回非nil
和defer函式結合使用,就會將錯誤捕捉到進行處理
func testError(){ defer func() { if e := recover(); e != nil { fmt.Printf("panic : %s\n", e) } }() index := 4 arr := []int{1,2,3} _= arr[index] }