#include <db_cxx.h> Db::err(int error, const char *fmt, ...); Db::errx(const char *fmt, ...);
The
DbEnv::err()
,
DbEnv::errx()
, Db::err()
and
Db::errx()
methods provide error-messaging functionality for
applications written using the Berkeley DB library.
The Db::err()
and
DbEnv::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 DbEnv::set_errcall() method, any prefix string specified using the DbEnv::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 DbEnv::strerror() method.
The Db::errx()
and DbEnv::errx()
methods
are the same as the Db::err()
and
DbEnv::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 DbEnv::set_errcall() ), that function is called with two parameters: any prefix string specified (see Db::set_errpfx() and DbEnv::set_errpfx() ) and the error message.
If a C library FILE * has been set (see Db::set_errfile() and DbEnv::set_errfile() ), the error message is written to that output stream.
If a C++ ostream has been set (see DbEnv::set_error_stream() and Db::set_error_stream()), the error message is written to that stream.
If none of these output options have been configured, the error message is written to stderr, the standard error output stream.
The total length of the message written by this method, including the prefix string, can be no longer than 4096.
The error parameter is the error
value for which the
DbEnv::err()
and Db::err()
methods will display an explanatory string.