zion - err
.Dd "21 juillet 2003" .Dt ERR 3 .Os
Nom
.Nm err , .Nm verr , .Nm errx , .Nm verrx , .Nm warn , .Nm vwarn , .Nm warnx , .Nm vwarnx , .Nd Messages d'erreur formatés.
Résumé
.Fd #include <err.h> .Ft void err "int eval" "const char *fmt" "..."
.Ft void errx "int eval" "const char *fmt" "..."
.Ft void warn "const char *fmt" "..."
.Ft void warnx "const char *fmt" "..."
.Fd #include <stdarg.h> .Ft void verr "int eval" "const char *fmt" "va_list args"
.Ft void verrx "int eval" "const char *fmt" "va_list args"
.Ft void vwarn "const char *fmt" "va_list args"
.Ft void vwarnx "const char *fmt" "va_list args"
.Sh DESCRIPTION Les fonctions de la famille err
et warn
affiche 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 un espace. Si l'argument .Fa fmt n'est pas NULL, le message est affiché avec un format de type .Xr printf 3 La sortie se termine par un saut de ligne.
Les fonctions err ,
.Fn verr , warn ,
et vwarn
ajoutent un message d'erreur obtenu avec .Xr strerror 3 à partir d'un code transmis ou de la variable globale .Va errno , précédé d'un autre deux-points et d'un espace, sauf si l'argument .Fa fmt est .Dv NULL .
Les fonctions err ,
.Fn verr , warn ,
utilisent vwarn
la variable global .Va errno pour rechercher le message d'erreur.
Les fonctions errx
et warnx
n'ajoutent pas de message d'erreur.
Les fonctions err ,
.Fn verr , errx ,
et verrx
ne reviennent pas, elles terminent le programme avec le code de retour .Fa eval .
Exemples
Afficher la chaîne d'information sur errno et sortir : .Bd -literal -offset indent if ((p = malloc(size)) == NULL) err(1, NULL); if ((fd = open(file_name, O_RDONLY, 0)) == -1) err(1, "%s", file_name); .Ed
Afficher un message d'erreur et sortir : .Bd -literal -offset indent if (tm.tm_hour < START_TIME) errx(1, "too early, wait until %s", start_time_string); .Ed
Prévenir d'une erreur : .Bd -literal -offset indent 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); .Ed
Voir aussi
.Xr exit 3 , .Xr printf 3 , .Xr perror 3 , .Xr strerror 3
Historique
Les fonctions err
et warn
sont apparues dans .Bx 4.4 .
Traduction
Christophe Blaess, 2003.
Poster un commentaire