1. NOM

assert_perror - Vérifier un code d'erreur et arrêter le programme

2. SYNOPSIS

 
Sélectionnez
#define _GNU_SOURCE         /* Consultez feature_test_macros(7) */
#include <assert.h>
void assert_perror(int errnum);

3. DESCRIPTION

Si la macro NDEBUG est définie lors de la dernière inclusion de <assert.h>, la macro assert_perror() ne génère aucun code et n'a donc aucun effet. Sinon, la macro assert_perror() affiche un message d'erreur sur la sortie d'erreur et termine le programme en appelant abort(3) si errnum est non nul. Le message contient le nom du fichier, le nom de la fonction et le numéro de ligne de l'appel de la macro, ainsi que le résultat de strerror(errnum).

4. VALEUR RENVOYÉE

Aucune valeur n'est renvoyée.

5. CONFORMITÉ

Il s'agit d'une extension GNU.

6. BOGUES

Le but des macros d'assertion est d'aider le programmeur à trouver les bogues dans son application, bogues résultant d'erreur de programmation. Cependant, avec les fonctions ou les appels système, la situation est différente et un retour en erreur peut (et va) survenir et doit donc être testé. N'utilisez pas une assertion dont le test disparaîtrait quand NDEBUG est définie, mais écrivez un gestionnaire d'erreur correct. N'utilisez jamais cette macro.

7. VOIR AUSSI

abort(3), assert(3), exit(3), strerror(3)

8. COLOPHON

Cette page fait partie de la publication 3.52 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse http://www.kernel.org/doc/man-pages/.

9. TRADUCTION

Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

Thierry Vignaud (2002), Alain Portal <http://manpagesfr.free.fr/> (2006). Florentin Duneau et l'équipe francophone de traduction de Debian (2006-2009).

Veuillez signaler toute erreur de traduction en écrivant à <>.

Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».