Originální popis anglicky:
err,
verr,
errx,
verrx,
warn,
vwarn,
warnx,
vwarnx,
—
formatted error messages
Návod, kniha: Library Functions Manual
#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);
The
err() and
warn()
family of functions display a formatted error message on the standard error
output. In all cases, the last component of the program name, a colon
character, and a space are output. If the
fmt
argument is not NULL, the
printf(3) -like
formatted error message is output. The output is terminated by a newline
character.
The
err(),
verr(),
warn(), and
vwarn()
functions append an error message obtained from
strerror(3) based on a code or the global
variable
errno, preceded by another colon and
space unless the
fmt argument is
NULL
.
The
err(),
verr(),
warn(), and
vwarn()
functions use the global variable
errno to
look up the error message.
The
errx() and
warnx()
functions do not append an error message.
The
err(),
verr(),
errx(), and
verrx()
functions do not return, but exit with the value of the argument
eval.
Display the current errno information string and exit:
if ((p = malloc(size)) == NULL)
err(1, NULL);
if ((fd = open(file_name, O_RDONLY, 0)) == -1)
err(1, "%s", file_name);
Display an error message and exit:
if (tm.tm_hour < START_TIME)
errx(1, "too early, wait until %s", start_time_string);
Warn of an error:
if ((fd = open(raw_device, O_RDONLY, 0)) == -1)
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);
exit(3),
printf(3),
perror(3),
strerror(3)
The
err() and
warn()
functions first appeared in
4.4BSD.