PERROR |
Processus d'erreur |
---|---|
Langage C | stdlib.h |
Syntaxe
void perror(const char *message); |
Paramètres
Nom | Description |
---|---|
message | Ce paramètre permet d'indiquer le message à envoyer sur la sortie standard d'erreur. |
Description
Cette fonction permet d'envoyer un message d'erreur sur la sortie standard d'erreur.
Algorithme
MODULE PERROR(s) * Vérifier si errno contient une valeur valide SI errno = 0 ALORS * Pas d'erreur, donc rien à afficher RETOURNE FIN SI * Construire le message d'erreur message ← "" SI s ≠ NULL et s ≠ "" ALORS message ← s + ": " FIN SI * Ajouter la description de l'erreur à partir de errno message ← message + strerror(errno) * Afficher le message sur la sortie standard d'erreur write_to_stderr(message + "\n") |
Remarques
- Affichage des messages d'erreur système : La fonction perror est utilisée pour afficher un message d'erreur correspondant à la dernière erreur système survenue. Elle se base sur la variable globale errno, étant définie par les fonctions de la bibliothèque standard lors d'une erreur. Cela permet de comprendre facilement la cause d'un échec.
- Format du message affiché : Le message généré par perror combine le texte fourni dans s avec une description textuelle de l'erreur obtenue via strerror(errno). Par exemple, si errno correspond à "Permission denied" et que s vaut "File open error", le message affiché sera :
- Facilitation du débogage : En affichant un message clair basé sur errno, perror facilite le débogage des programmes, surtout dans les systèmes où les codes d'erreur bruts (comme des valeurs numériques) ne sont pas facilement interprétables par un développeur ou un utilisateur final.
- Flux de sortie standard : Par défaut, perror écrit son message sur le flux stderr (la sortie d'erreur standard). Cela permet de séparer les messages d'erreur des sorties normales du programme, ce qui est particulièrement utile dans les scripts ou environnements de commande.
- Dépendance à errno : L'efficacité de perror repose sur la gestion correcte de errno par le programme. Si errno n'est pas mis à jour ou est accidentellement modifié avant l'appel à perror, le message affiché peut ne pas refléter la véritable erreur survenue.
- Utilisation typique dans des programmes robustes : perror est fréquemment utilisé dans des programmes nécessitant une gestion robuste des erreurs, notamment dans les applications système ou les programmes manipulant des fichiers, sockets ou processus. Elle offre une manière standardisée d'informer l'utilisateur des erreurs.
- Alternative à perror : Bien que perror soit simple et efficace, les développeurs qui veulent un contrôle plus précis sur la sortie des erreurs peuvent utiliser strerror pour récupérer directement la description de l'erreur et l'inclure dans un message formaté via fprintf ou une autre fonction d'affichage.
File open error: Permission denied |
Voir également
Langage de programmation - C pour Linux - Référence procédures et fonctions - perror
Langage de programmation - C++ - Référence procédures et fonctions - perror
Références
Langage C, Edition Micro-Application, Gehard Willms, 2001, ISBN: 2-7429-2008-0, page 733.
Borland C++ for Windows 4.0, Library Reference, Edition Borland, 1993, Part # BCP1240WW21772, page 189.
Dernière mise à jour : Mardi, le 28 juillet 2015