< Fonctions de base en langage C
![](../../I/Searchtool.svg.png.webp)
Des informations sur la gestion des erreurs dans le wikilivre Programmation C, chapitre sur les erreurs.
![](../../I/Searchtool.svg.png.webp)
Le fichier d'entête errno.h définit le mécanisme qui permet de savoir si une fonction système ou une fonction de la bibliothèque standard a rencontré une erreur. Elle écrit alors une valeur entière dans errno.
Remarques sur l’utilisation de errno
- une fonction qui s'exécute avec succès ne remet pas à 0 errno, vous devez vous en charger avant de l'appeler.
- errno peut ne pas être une variable : ne pas utiliser son adresse.
- Vous devez stocker ou exploiter au plus tôt errno juste après l'appel de la fonction. Tout appel à une fonction autre que perror risque d'écraser errno.
- Ne pas utiliser le mécanisme errno dans vos propres fonctions.
Constantes symboliques
errno.h contient la définition de constantes symboliques qui représentent les codes d'erreur de errno.
Ces constantes peuvent être spécifiques à un système. Il faut étudier errno.h sur la machine cible pour assurer la portabilité des programmes.
Fonctions utiles
- void perror(char *s) : Affiche le message d'erreur correspondant à errno sur stderr.
- char *strerror(int n) : Renvoie le message d'erreur correspondant à n.
Un extrait de code qui analyse le résultat de la fonction système stat en cas de problème :
cr = stat(nomFichier, &buf);
if (cr != 0)
{
perror("stat");
exit(EXIT_FAILURE);
}
Cet article est issu de Wikiversity. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.