NOM
err, verr, errx, verrx, warn, vwarn, warnx, vwarnx - Messages d’erreurs
formatés
SYNOPSIS
#include <err.h>
void err(int eval, const char *fmt, ...);
void errx(int eval, const char *fmt, ...);
void warn(const char *fmt, ...);
void warnx(const char *fmt, ...);
#include <stdarg.h>
void verr(int eval, const char *fmt, va_list args);
void verrx(int eval, const char *fmt, va_list args);
void vwarn(const char *fmt, va_list args);
void vwarnx(const char *fmt, va_list args);
Les fonctions de la famille err() et warn() affichent un message
d’erreur formaté sur la sortie d’erreur standard. Dans tous les cas,
elles affichent le nom du programme, un deux-points, et une espace. Si
l’argument fmt n’est pas NULL, le message est affiché avec un format de
type printf(3). La sortie se termine par un saut de ligne.
Les fonctions err(), verr(), warn(), et vwarn() ajoutent un message
d’erreur obtenu avec strerror(3) à partir d’un code transmis ou de la
variable globale errno, précédé d’un autre deux-points et d’un espace,
sauf si l’argument fmt est NULL.
Les fonctions err(), verr(), warn() et vwarn() utilisent la variable
globale errno pour rechercher le message d’erreur.
Les fonctions errx() et warnx() n’ajoutent pas de message d’erreur.
Les fonctions err(), verr(), errx(), et verrx() ne reviennent pas,
elles terminent le programme avec le code de retour eval.
EXEMPLES
Afficher la chaîne d’informations errno courante et sortir :
if ((p = malloc(size)) == NULL)
err(1, NULL);
if ((fd = open(file_name, O_RDONLY, 0)) == -1)
err(1, "%s", file_name);
Afficher un message d’erreur et sortir :
if (tm.tm_hour < START_TIME)
errx(1, "too early, wait until %s", start_time_string);
Avertissement sur une erreur :
if ((fd = open(raw_device, O_RDONLY, 0)) == -1)
warnx("%s: %s: trying the block device",
raw_device, strerror(errno));
if ((fd = open(block_device, O_RDONLY, 0)) == -1)
err(1, "%s", block_device);
CONFORMITÉ
Ces fonctions sont des extensions BSD non standard.
VOIR AUSSI
error(3), exit(3), perror(3), printf(3), strerror(3)
COLOPHON
Cette page fait partie de la publication 3.23 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/.
TRADUCTION
Cette page de manuel a été traduite et mise à jour par Christophe
Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par
Alain Portal <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et mise à
disposition sur http://manpagesfr.free.fr/.
Les mises à jour et corrections de la version présente dans Debian sont
directement gérées par Florentin Duneau <fduneau@gmail.com> et l’équipe
francophone de traduction de Debian.
Veuillez signaler toute erreur de traduction en écrivant à
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce document
en utilisant la commande « man -L C <section> <page_de_man> ».