Manpages

NOMBRE

err, verr, errx, verrx, warn, vwarn, warnx, vwarnx, — mensajes de error con formato

SINOPSIS

#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)

DESCRIPCIÓN

La familia de funciones err() y 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 fmt es distinto de NULL, se imprime un mensaje de error con formato al estilo de printf(3)

Las funciones err(), verr(), warn(), y 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 fmt sea NULL.

Las funciones err(), verr(), warn(), y vwarn() usan la variable global errno para buscar el mensaje de error.

Las funciones errx() y warnx() no añaden ningún mensaje de error.

Las funciones err(), verr(), errx(), y verrx() no regresan, sino que terminan la ejecución con el valor del argumento 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);

VÉASE TAMBIÉN

exit(3), printf(3), perror(3), strerror(3)

HISTORIA

Las funciones err() y warn() aparecieron por primera vez en 4.4BSD.