|
Db::set_errcall
|
|
#include <db_cxx.h>
void Db::set_errcall(
void (*db_errcall_fcn)(const char *errpfx, char *msg));
Description
When an error occurs in the Berkeley DB library, an exception is thrown or an
error return value is returned by the method. In some cases,
however, the errno value may be insufficient to completely
describe the cause of the error, especially during initial application
debugging.
The DbEnv::set_errcall and Db::set_errcall methods are used to
enhance the mechanism for reporting error messages to the application.
In some cases, when an error occurs, Berkeley DB will call
db_errcall_fcn with additional error information. The function
must be defined with two arguments; the first will be the prefix string
(as previously set by Db::set_errpfx or DbEnv::set_errpfx);
the second will be the error message string. It is up to the
db_errcall_fcn method to display the error message in an
appropriate manner.
Alternatively, you can use the DbEnv::set_error_stream method to display
the additional information via an output stream, or the Db::set_errfile
or DbEnv::set_errfile methods to display the additional information via a C
library FILE *. You should not mix these approaches.
This error-logging enhancement does not slow performance or significantly
increase application size, and may be run during normal operation as well
as during application debugging.
For Db handles opened inside of Berkeley DB environments, calling the
Db::set_errcall method affects the entire environment and is equivalent to calling
the DbEnv::set_errcall method.
The Db::set_errcall interface may be used to configure Berkeley DB at any time
during the life of the application.
Class
Db
See Also
Db::associate,
Db::close,
Db::cursor,
Db::del,
Db::err, Db::errx
Db::fd,
Db::get,
Db::pget,
Db::get_byteswapped,
Db::get_type,
Db::join,
Db::key_range,
Db::open,
Db::put,
Db::remove,
Db::rename,
Db::set_alloc,
Db::set_append_recno,
Db::set_bt_compare,
Db::set_bt_minkey,
Db::set_bt_prefix,
Db::set_cachesize,
Db::set_dup_compare,
Db::set_errcall,
Db::set_errfile,
Db::set_errpfx,
Db::set_feedback,
Db::set_flags,
Db::set_h_ffactor,
Db::set_h_hash,
Db::set_h_nelem,
Db::set_lorder,
Db::set_pagesize,
Db::set_paniccall,
Db::set_q_extentsize,
Db::set_re_delim,
Db::set_re_len,
Db::set_re_pad,
Db::set_re_source,
Db::stat,
Db::sync,
Db::truncate,
Db::upgrade,
and
Db::verify.
Copyright Sleepycat Software
|