#include <db.h> void DB->err(DB *db, int error, const char *fmt, ...); void DB->errx(DB *db, const char *fmt, ...);
The DB_ENV->err(),
DB_ENV->errx()
, DB->err()
and
DB->errx()
methods provide error-messaging functionality for
applications written using the Berkeley DB library.
The DB->err()
and DB_ENV->err() methods construct
an error message consisting of the following elements:
An optional prefix string
If no error callback function has been set using the DB_ENV->set_errcall() method, any prefix string specified using the DB_ENV->set_errpfx() method, followed by two separating characters: a colon and a <space> character.
An optional printf-style message
The supplied message fmt, if non-NULL, in which the ANSI C X3.159-1989 (ANSI C) printf function specifies how subsequent parameters are converted for output.
A separator
Two separating characters: a colon and a <space> character.
A standard error string
The standard system or Berkeley DB library error string associated with the error value, as returned by the db_strerror method.
The DB->errx()
and DB_ENV->errx()
methods
are the same as the DB->err()
and
DB_ENV->err() methods, except they do not append
the final separator characters and standard error string to the error message.
This constructed error message is then handled as follows:
If an error callback function has been set (see DB->set_errcall() and DB_ENV->set_errcall()), that function is called with two parameters: any prefix string specified (see DB->set_errpfx() and DB_ENV->set_errpfx()) and the error message.
If a C library FILE * has been set (see DB->set_errfile() and DB_ENV->set_errfile()), the error message is written to that output stream.
If none of these output options have been configured, the error message is written to stderr, the standard error output stream.
The error parameter is the error
value for which the DB_ENV->err()
and DB->err()
methods will display an explanatory string.