Sommaire

Gestion des erreurs Erreur

Presque tous les appels système retournent une valeur indiquant si l’appel a réussi ou non. Il est bien sûr très important de vérifier ce code retour, pour s’assurer que l’appel s’est déroulé correctement, sans quoi des erreurs graves et difficiles à diagnostiquer peuvent se produire à l’exécution du programme.

La documentation de chaque appel système (man 2) décrit l’ensemble des codes retours qu’il est susceptible de retourner.

Quelques appels système n’échouent jamais (getpid() par exemple, qui retourne l’identifiant du processus exécutant le programme).

1. Code retour et variable errno Code retour errno

La plupart des appels système retournent -1 en cas d’erreur et positionnent la variable globale d’erreur errno. Cette variable est définie dans le fichier d’en-tête errno.h, qui spécifie également une série de constantes symboliques pour les différentes valeurs d’erreurs possibles, toutes commençant par la lettre E. Elles sont décrites dans la documentation, accessible par la commande man errno.

Un appel système réussi ne réinitialise pas la variable errno à zéro, elle conserve donc la valeur de l’erreur retournée par le dernier appel infructueux. Quelques appels système ne retournent pas -1 en cas d’erreur. Certains peuvent retourner ...