< Fonctions de base en langage C
fin de la boite de navigation du chapitre
Des informations sur la gestion des erreurs dans le wikilivre Programmation C, chapitre sur les erreurs.

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.