Scroll to navigation

ERR(3) Library Functions Manual ERR(3)

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.
March 6, 1999 Linux 4.9.0-9-amd64