err


BSD mandoc

NAME

err verr errx verrx warn vwarn warnx vwarnx - formatted error messages

SYNOPSIS

Fd #include <err.h> Ft void Fn err int eval const char *fmt ... Ft void Fn errx int eval const char *fmt ... Ft void Fn warn const char *fmt ... Ft void Fn warnx const char *fmt ... Fd #include <stdarg.h> Ft void Fn verr int eval const char *fmt va_list args Ft void Fn verrx int eval const char *fmt va_list args Ft void Fn vwarn const char *fmt va_list args Ft void Fn vwarnx const char *fmt va_list args

DESCRIPTION

The Fn err and Fn 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 Fa fmt argument is not NULL, the printf(3) -like formatted error message is output. The output is terminated by a newline character.

The Fn err , Fn verr , Fn warn , and Fn 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 Fa fmt argument is NULL

The Fn err , Fn verr , Fn warn , and Fn vwarn functions use the global variable errno to look up the error message.

The Fn errx and Fn warnx functions do not append an error message.

The Fn err , Fn verr , Fn errx , and Fn verrx functions do not return, but exit with the value of the argument Fa eval .

EXAMPLES

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

CONFORMING TO

These functions are non-standard BSD extensions.

HISTORY

The Fn err and Fn warn functions first appeared in BSD 4.4

SEE ALSO

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