首頁 > 後端開發 > Golang > 為什麼我的 Go 程式碼不斷拋出「退出狀態 1」?

為什麼我的 Go 程式碼不斷拋出「退出狀態 1」?

Patricia Arquette
發布: 2024-11-16 02:36:03
原創
270 人瀏覽過

Why Does My Go Code Keep Throwing

如何排查Golang exec.Command 中的「退出狀態1」錯誤

在Golang 中使用exec.Command 時,您可能會遇到阻礙調試工作的非特定「退出狀態1」錯誤。如需更多詳細資訊:

存取命令的 Stderr 輸出

Command 物件包含一個 Stderr 屬性,用於擷取執行命令中的錯誤訊息。修改您的程式碼以將stderr 輸出重新導向到變數:

var stderr bytes.Buffer
cmd.Stderr = &stderr

err := cmd.Run()
if err != nil {
    fmt.Println(fmt.Sprint(err) + ": " + stderr.String())
    return
}
登入後複製

執行此增強程式碼將提供更全面的錯誤訊息,例如:

exit status 1: find: -exec: no terminating ";" or "+"
登入後複製

這表示錯誤來源於來自無效命令。

處理非標準錯誤行為

請注意,某些命令可能會偏離將錯誤打印到 stderr 並返回非零的預期行為退出代碼。某些命令(例如 ffmpeg)可能會將錯誤列印到 stderr,但返回退出代碼 0。此外,某些指令可能會將錯誤印到 stdout 而不是 stderr。

為了適應這些變化,您可能需要調整程式碼上面解釋了您正在使用的特定命令以及預期的錯誤處理模式。

以上是為什麼我的 Go 程式碼不斷拋出「退出狀態 1」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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