首頁 >後端開發 >Golang >如何取得 Go 程式碼中的錯誤行號?

如何取得 Go 程式碼中的錯誤行號?

Linda Hamilton
Linda Hamilton原創
2024-12-13 18:40:19232瀏覽

How Can I Get the Line Number of Errors in My Go Code?

檢索Golang 中的錯誤行號

當您在Golang 程式碼中遇到錯誤時,記錄它們以進行調試至關重要。但是,log.Fatal 本身並不會提供發生錯誤的行號。這可能會使追蹤錯誤來源變得困難。

要解決此問題,您可以修改日誌標誌以包含行號資訊。操作方法如下:

  • 自訂記錄器:您可以建立自訂記錄器並設定其標誌欄位以包含所需的行號格式(Llongfile 表示完整路徑, Lshortfile 表示檔案名稱)。
myLogger := log.New(os.Stdout, "", log.LstdFlags|log.Lshortfile)
  • 預設記錄器:您也可以修改預設記錄器的標誌以包含行號資訊:
log.SetFlags(log.LstdFlags | log.Lshortfile)

透過設定這些標誌,日誌輸出現在將包含有問題的行代碼:

import (
    "log"
)

func main() {
    log.SetFlags(log.LstdFlags | log.Lshortfile)
    log.Fatal("Error occurred on line 14 in file my_file.go")
}

輸出:

2022/09/20 13:52:15 my_file.go:14: Error occurred on line 14 in file my_file.go

這提供了更詳細的錯誤訊息,使識別和修復根本問題變得更加容易。請注意,此方法僅在出現致命錯誤(例如 log.Fatal)時才列印行號。對於其他日誌等級(例如 log.Error),您可以使用 debug.PrintStack() 列印完整的呼叫堆疊。

以上是如何取得 Go 程式碼中的錯誤行號?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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