table of contents
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¶
HISTORIA¶
Las funciones
err
()
y
warn
()
aparecieron por primera vez en 4.4BSD.
March 6, 1999 | Linux 5.14.0-427.18.1.el9_4.x86_64 |