Other Alias
err, verr, errx, warn, vwarn, warnx, vwarnxSINOPSIS
Fd #include <err.h> Ft void Fn err int eval const char *fmt ... Ft void Fn errx int eval const char *fmt ... Ft void Fn warn const char *fmt ... Ft void Fn warnx const char *fmt ... Fd #include <stdarg.h> Ft void Fn verr int eval const char *fmt va_list args Ft void Fn verrx int eval const char *fmt va_list args Ft void Fn vwarn const char *fmt va_list args Ft void Fn vwarnx const char *fmt va_list argsDESCRIPCIÓN
La familia de funciones Fn err y Fn warn muestran un mensaje de error con formato en la salida estándar de error. En todos los casos, se imprime el último componente del nombre del programa, un carácter punto y un espacio. Si el argumento Fa fmt es distinto de NULL, se imprime un mensaje de error con formato al estilo de printf(3) La salida finaliza con un carácter nueva línea.Las funciones Fn err , Fn verr , Fn warn , y Fn vwarn añaden un mensaje de error obtenido con strerror(3) basado en un código o en la variable global errno precedido por otro punto y un espacio a menos que el argumento Fa fmt sea NULL
Las funciones Fn err , Fn verr , Fn warn , y Fn vwarn usan la variable global errno para buscar el mensaje de error.
Las funciones Fn errx y Fn warnx no añaden ningún mensaje de error.
Las funciones Fn err , Fn verr , Fn errx , y Fn verrx no regresan, sino que terminan la ejecución con el valor del argumento Fa eval .
EJEMPLOS
Muestra la cadena de información del error actual y termina:if ((p = malloc(size)) == NULL) err(1, NULL); if ((fd = open(file_name, O_RDONLY, 0)) == -1) err(1, "%s", file_name);
Muestra un mensaje de error y termina:
if (tm.tm_hour < START_TIME) errx(1, "too early, wait until %s", start_time_string);
Aviso de un error:
if ( 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);
HISTORIA
Las funciones Fn err y Fn warn aparecieron por primera vez en BSD 4.4