首頁 > 後端開發 > Golang > 如何有效比較Go中的錯誤訊息?

如何有效比較Go中的錯誤訊息?

Barbara Streisand
發布: 2024-12-14 04:38:10
原創
462 人瀏覽過

How to Effectively Compare Error Messages in Go?

比較 Go 中的錯誤訊息

在 Java 中,可以使用 Exception 類別的 GetMessage() 方法來擷取錯誤訊息。然而,在 Go 中,錯誤訊息的存取方式有所不同。

如何比較錯誤訊息

要在 Go 中比較錯誤訊息,請按照以下步驟操作:

  1. 宣告包層級錯誤變數:
var errExample = errors.New("this is an example")
登入後複製
  1. 傳回此錯誤值:

return errExample
登入後複製

if err == errExample {
    // handle it
}
登入後複製

>發生錯誤時,傳回套件層級錯誤變數而非自訂字串message:

var ErrExample = errors.New("this is an example")
登入後複製
與此值比較:

if err == somepackage.ErrExample {
    // handle it
}
登入後複製

要檢查具體錯誤,可以將傳回的錯誤與包進行比較-級別錯誤變數:

處理來自外部的錯誤包

如果需要比較外部套件的錯誤,可以匯出錯誤變數:然後,在程式碼中使用匯出的錯誤變數: 避免使用Error.Error()避免與錯誤的 Error() 方法傳回的字串進行比較。這可能會使您的程式碼變得脆弱,因為錯誤訊息可能會在沒有通知的情況下發生變更。相反,請使用上述推薦的方法。

以上是如何有效比較Go中的錯誤訊息?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板