ASSERT_PERROR(3)

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

SYNOPSIS
#define _GNU_SOURCE         /* Consultez feature_test_macros(7) */
#include <assert.h>

void assert_perror(int errnum);

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).

VALEUR RENVOYÉE
Aucune valeur n'est renvoyée.

CONFORMITÉ
Il s'agit d'une extension GNU.

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.

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

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

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

Thierry Vignaud (2002), Alain Portal <URL: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 à <perkamon-fr@traduc.org>.

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