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

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

Linda Hamilton
發布: 2024-12-13 18:40:19
原創
302 人瀏覽過

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中文網其他相關文章!

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