首頁  >  文章  >  後端開發  >  golang中的錯誤處理方法

golang中的錯誤處理方法

尚
原創
2019-12-07 09:55:003041瀏覽

golang中的錯誤處理方法

錯誤處理,是非常重要的。在go語言中,錯誤處理被設計的十分簡單。

如果做得好,會在排查問題等方面很有幫助;如果做得不好,就會比較麻煩。

從1.0開始,go中定義錯誤為 error 介面

// The error built-in interface type is the conventional interface for
// representing an error condition, with the nil value representing no error.
type error interface {
    Error() string
}

go語言中,錯誤處理的幾種方式:

1、透過判斷值相等。像io.EOF,go語言中,稱為sentinel error

2、透過斷言( type assertion or type switch),判斷err的類型或是否實作了某個介面

#3、利用包提供的方法。像是 os.IsNotExist。 go語言中,稱為 ad-hoc check

4、當上面3中方式不可用時,透過搜尋 err.Error() 是否包含特定字串。 (不被推薦)

盡量不要使用 sentinel error

盡量不要使用 ad-hoc check

#

以上是golang中的錯誤處理方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn