NOME
err, verr, errx, verrx, warn, vwarn, warnx, vwarnx − messaggi di errore formattati
SINTASSI
#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);
DESCRIZIONE
Le famiglie di funzioni err() e warn() visualizzano un messaggio di errore formattato sull’uscita dello standard error. In ogni caso vengono stampati l’ultimo componente del nome del programma, un carattere di due punti, e uno spazio. Se l’argomento fmt non è NULL viene emesso un messaggio di errore formattato in stile printf(3). L’output è concluso da un carattere newline.
Le funzioni err(), verr(), warn(), e vwarn() aggiungono un messaggio di errore ottenuto da strerror(3) basato sulla variabile globale errno, preceduto da un altro ":" e da uno spazio a meno che l’argomento fmt sia NULL.
Le funzioni errx() e warnx() non aggiungono un messaggio di errore.
Le funzioni err(), verr(), errx(), e verrx() non ritornano, ma escono con il valore dell’argomento eval.
CONFORME A
Queste funzioni sono estensioni BSD non standard.
ESEMPI
Mostra la stringa di informazione attuale errno ed esce:
p =
malloc(size);
if (p == NULL)
err(1, NULL);
fd = open(file_name, O_RDONLY, 0);
if (fd == −1)
err(1, "%s", file_name);
Visualizza un messaggio di errore ed esce:
if (tm.tm_hour
< START_TIME)
errx(1, "too early, wait until %s",
start_time_string);
Avvisa di un errore:
fd =
open(raw_device, O_RDONLY, 0);
if (fd == −1)
warnx("%s: %s: trying the block device",
raw_device, strerror(errno));
fd = open(block_device, O_RDONLY, 0);
if (fd == −1)
err(1, "%s", block_device);
VEDERE ANCHE
error(3), exit(3), perror(3), printf(3), strerror(3)
COLOPHON
Questa pagina fa parte del rilascio 3.73 del progetto Linux man-pages. Una descrizione del progetto, le istruzioni per la segnalazione degli errori, e l’ultima versione di questa pagina si trova su http://www.kernel.org/doc/man−pages/.
La versione
italiana fa parte del pacchetto man-pages-it v. 3.73,
a cura di: ILDP "Italian Linux Documentation
Project" http://www.pluto.it/ildp
Per la traduzione in italiano si può fare riferimento
a http://www.pluto.it/ildp/collaborare/
Segnalare eventuali errori di traduzione a
ildp [AT] pluto.it