Cara Menyelesaikan Ralat "Keluar Status 1" dalam eksekutif Golang.Arahan
Apabila menggunakan exec.Command di Golang, anda mungkin menghadapi ralat "keluar status 1" bukan khusus yang menghalang usaha penyahpepijatan. Untuk mendapatkan maklumat yang lebih terperinci:
Akses Output Stderr Perintah
Objek Perintah termasuk sifat Stderr yang menangkap mesej ralat daripada arahan yang dilaksanakan. Ubah suai kod anda untuk mengubah hala output stderr kepada pembolehubah:
var stderr bytes.Buffer cmd.Stderr = &stderr err := cmd.Run() if err != nil { fmt.Println(fmt.Sprint(err) + ": " + stderr.String()) return }
Menjalankan kod dipertingkat ini akan memberikan mesej ralat yang lebih komprehensif, seperti:
exit status 1: find: -exec: no terminating ";" or "+"
Ini menjelaskan bahawa ralat itu berpunca daripada arahan yang tidak sah.
Mengendalikan Gelagat Ralat Bukan Standard
Perhatikan bahawa sesetengah arahan mungkin menyimpang daripada kelakuan yang dijangkakan ralat pencetakan kepada stderr dan mengembalikan bukan sifar kod keluar. Arahan tertentu, seperti ffmpeg, mungkin mencetak ralat ke stderr tetapi mengembalikan kod keluar 0. Selain itu, sesetengah arahan mungkin mencetak ralat ke stdout dan bukannya stderr.
Untuk menampung variasi ini, anda mungkin perlu melaraskan kod di atas untuk mengambil kira arahan khusus yang anda gunakan dan corak pengendalian ralat yang dijangkakan.
Atas ialah kandungan terperinci Mengapa Kod My Go Terus Membuang 'Status Keluar 1'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!