err(), errx()
QNX SDP8.0C Library ReferenceAPIDeveloper
Display a formatted error message, and then exit
Synopsis:
#include <err.h>
void err( int eval,
const char *fmt, ...);
void errx( int eval,
const char *fmt, ...);
Arguments:
- eval
- The value to use as the exit code of the process.
- fmt
- NULL, or a printf()-style string used to format the message.
- Additional arguments
- As required by the format string.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The err() and warn() family of functions display a formatted error message on stderr:
- The functions without an
x
in their names display the string associated with the current value of errno. - Those with a
v
arevarargs
functions. - Those with
err
exit instead of returning.
Function | errno string? | Varargs? | Exits? |
---|---|---|---|
err() | Yes | No | Yes |
errx() | No | No | Yes |
verr() | Yes | Yes | Yes |
verrx() | No | Yes | Yes |
vwarn() | Yes | Yes | No |
vwarnx() | No | Yes | No |
warn() | Yes | No | No |
warnx() | No | No | No |
The err() function produces a message that consists of:
- the last component of the program name, followed by a colon and a space
- the formatted message, followed by a colon and a space, if the fmt argument isn't NULL
- the string associated with the current value of errno
- a newline character.
The errx() function produces a similar message, except that it doesn't include the string associated with errno. The message consists of:
- the last component of the program name, followed by a colon and a space
- the formatted message, if the fmt argument isn't NULL
- a newline character.
The err() and errx() functions don't return, but exit with the value of the argument eval.
Examples:
Display the current errno information string, and then 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 then exit:
if (tm.tm_hour < START_TIME)
errx(1, "too early, wait until %s", start_time_string);
Classification:
Safety: | |
---|---|
Cancellation point | Yes |
Signal handler | Yes |
Thread | Yes |
Page updated: