取得指向實際錯誤來源的堆疊追蹤
在Go 程式中,由於第三方引發的錯誤可能會發生恐慌-黨庫。然而,預設的堆疊追蹤通常只提供發生恐慌的點,而不是錯誤的實際來源。
為了更深入研究錯誤的根源,error 套件提供了一個解決方案。透過實作 stackTracer 接口,該接口公開了 StackTrace 方法,可以使用附加資訊來包裝錯誤。
type stackTracer interface { StackTrace() errors.StackTrace }
以下程式碼示範如何追蹤錯誤其原始來源:
func main() { value, err := some3rdpartylib.DoSomething() if err != nil { // Wrap the error with stack trace information err = errors.WithStack(err) panic(err) } }
如果不幸發生恐慌,堆疊追蹤現在將包括錯誤的實際來源,使開發人員能夠查明根本原因。
此外,第三方函式庫可以進一步增強錯誤處理能力:
以上是如何取得更詳細的堆疊追蹤來調試源自第三方 Go 函式庫的錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!