go 語言通過內建的錯誤介面提供了非常簡單的錯誤處理機制。
error型別是乙個介面型別,這是它的定義:
type error inte***ce
我們可以在編碼中通過實現 error 介面型別來生成錯誤資訊。
函式通常在最後的返回值中返回錯誤資訊。使用errors.new 可返回乙個錯誤資訊:
package main
import (
"fmt"
)// 定義乙個 divideerror 結構
type divideerror struct
// 實現 `error` 介面
func (de *divideerror) error() string
// 定義 `int` 型別除法運算的函式
func divide(vardividee int, vardivider int) (result int, errormsg string)
errormsg = ddata.error()
return
} else
}func main()
// 當被除數為零的時候會返回錯誤資訊
if _, errormsg := divide(100, 0); errormsg != ""
}
執行以上程式,輸出結果為:
100/10 = 10
errormsg is:
cannot proceed, the divider is zero.
dividee: 100
divider: 0
技術交流論壇:
golang 錯誤處理
go 程式使用 error 值來表示錯誤狀態。與 fmt.stringer 類似,error 型別是乙個內建介面 type error inte ce 與 fmt.stringer 類似,fmt 包在列印值時也會滿足 error。通常函式會返回乙個 error 值,呼叫的它的 應當判斷這個錯誤是否等...
golang 錯誤處理
一 defer package main import fmt os bufio func trydefer func writefile filename string else return defer file.close 無論return panic最後都會被執行 writer bufio....
Golang的錯誤處理
1 當錯誤 panic 發生後,程式就會退出 崩潰 2 希望發生錯誤後,能夠捕獲到錯誤,並對其進行處理,保證後續程式能夠繼續執行 go中引入的處理方式是 defer panic recover。其中go中可以丟擲乙個panic異常,然後在defer中通過recover捕獲這個異常,然後正常處理。1 ...