ASSERT_PERROR(3) Manuel du programmeur Linux ASSERT_PERROR(3)

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

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

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

Aucune valeur n'est renvoyée.

Pour une explication des termes utilisés dans cette section, consulter attributes(7).

Interface Attribut Valeur
assert_perror() Sécurité des threads MT-Safe

Il s'agit d'une extension GNU.

Le but des macros d'assertion est d'aider les programmeurs à trouver des bogues dans leurs applications, 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.

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

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

La traduction française de cette page de manuel a été créée par Christophe Blaess https://www.blaess.fr/christophe/, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org> et David Prévot <david@tilapin.org>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.

22 mars 2021 GNU