Maison > développement back-end > Golang > le corps du texte

Pourquoi mon code Go continue-t-il à afficher « Statut de sortie 1 » ?

Patricia Arquette
Libérer: 2024-11-16 02:36:03
original
176 Les gens l'ont consulté

Why Does My Go Code Keep Throwing

Comment dépanner l'erreur "Exit Status 1" dans exec.Command de Golang

Lors de l'utilisation de exec.Command dans Golang, vous pouvez rencontrer un erreur non spécifique "état de sortie 1" qui entrave les efforts de débogage. Pour obtenir des informations plus détaillées :

Accédez à la sortie Stderr de la commande

L'objet Command inclut une propriété Stderr qui capture les messages d'erreur de la commande exécutée. Modifiez votre code pour rediriger la sortie stderr vers une variable :

var stderr bytes.Buffer
cmd.Stderr = &stderr

err := cmd.Run()
if err != nil {
    fmt.Println(fmt.Sprint(err) + ": " + stderr.String())
    return
}
Copier après la connexion

L'exécution de ce code amélioré fournira un message d'erreur plus complet, tel que :

exit status 1: find: -exec: no terminating ";" or "+"
Copier après la connexion

Cela précise que l'erreur provient à partir d'une commande invalide.

Gestion du comportement d'erreur non standard

Notez que certaines commandes peuvent s'écarter du comportement attendu des erreurs d'impression sur stderr et renvoyer un résultat différent de zéro code de sortie. Certaines commandes, comme ffmpeg, peuvent imprimer des erreurs sur stderr mais renvoyer un code de sortie de 0. De plus, certaines commandes peuvent imprimer des erreurs sur stdout au lieu de stderr.

Pour prendre en compte ces variations, vous devrez peut-être ajuster le code. ci-dessus pour tenir compte des commandes spécifiques que vous utilisez et du modèle de gestion des erreurs attendu.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal