Rumah >pembangunan bahagian belakang >Golang >Mengapa Kod My Go Terus Membuang 'Status Keluar 1'?

Mengapa Kod My Go Terus Membuang 'Status Keluar 1'?

Patricia Arquette
Patricia Arquetteasal
2024-11-16 02:36:03294semak imbas

Why Does My Go Code Keep Throwing

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn