Heim  >  Artikel  >  Backend-Entwicklung  >  Warum gibt mein Go-Code ständig „Exit-Status 1“ aus?

Warum gibt mein Go-Code ständig „Exit-Status 1“ aus?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-16 02:36:03176Durchsuche

Why Does My Go Code Keep Throwing

So beheben Sie den Fehler „Exit Status 1“ in Golangs exec.Command

Bei der Verwendung von exec.Command in Golang kann es zu einem Problem kommen Unspezifischer Fehler „Exit-Status 1“, der die Debugging-Bemühungen behindert. Um detailliertere Informationen zu erhalten:

Greifen Sie auf die Stderr-Ausgabe des Befehls zu

Das Command-Objekt enthält eine Stderr-Eigenschaft, die Fehlermeldungen des ausgeführten Befehls erfasst. Ändern Sie Ihren Code, um die stderr-Ausgabe in eine Variable umzuleiten:

var stderr bytes.Buffer
cmd.Stderr = &stderr

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

Wenn Sie diesen erweiterten Code ausführen, erhalten Sie eine umfassendere Fehlermeldung, z. B.:

exit status 1: find: -exec: no terminating ";" or "+"

Dadurch wird klargestellt, dass der Fehler auf einen Fehler zurückzuführen ist von einem ungültigen Befehl.

Behandlung von nicht standardmäßigen Fehlern Verhalten

Beachten Sie, dass einige Befehle vom erwarteten Verhalten abweichen können, indem sie Fehler an stderr ausgeben und einen Exit-Code ungleich Null zurückgeben. Bestimmte Befehle, wie ffmpeg, geben Fehler möglicherweise an stderr aus, geben jedoch den Exit-Code 0 zurück. Darüber hinaus geben einige Befehle Fehler möglicherweise an stdout statt an stderr aus.

Um diese Variationen zu berücksichtigen, müssen Sie möglicherweise den Code anpassen oben, um die von Ihnen verwendeten spezifischen Befehle und das erwartete Fehlerbehandlungsmuster zu berücksichtigen.

Das obige ist der detaillierte Inhalt vonWarum gibt mein Go-Code ständig „Exit-Status 1“ aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn