err(3) mensajes de error con formato

Other Alias

verr, errx, verrx, warn, vwarn, warnx, vwarnx

SINOPSIS

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 args

DESCRIPCIÓ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