assert_perror - Vérifier un code d'erreur et arrêter le programme
Bibliothèque C standard (
libc,
-lc)
#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)
La traduction française de cette page de manuel a été
créée par Christophe Blaess
<
https://www.blaess.fr/christophe/>, Stéphan Rafin
<
[email protected]>, Thierry Vignaud
<
[email protected]>, François Micaux, Alain Portal
<
[email protected]>, Jean-Philippe Guérard
<
[email protected]>, Jean-Luc Coulon (f5ibh)
<
[email protected]>, Julien Cristau
<
[email protected]>, Thomas Huriaux <
[email protected]>,
Nicolas François <
[email protected]>, Florentin
Duneau <
[email protected]>, Simon Paillard
<
[email protected]>, Denis Barbier
<
[email protected]>, David Prévot <
[email protected]> et
Grégoire Scano <
[email protected]>
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 à
[email protected]