Db::set_errcall

API Ref

#include <db_cxx.h>

void Db::set_errcall(void (*db_errcall_fcn) (const DbEnv *dbenv, const char *errpfx, const char *msg));


Description: Db::set_errcall

When an error occurs in the Berkeley DB library, an exception is thrown or an error return value is returned by the interface. 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. It is up to the db_errcall_fcn function to display the error message in an appropriate manner.

Setting db_errcall_fcn to NULL unconfigures the callback interface.

Alternatively, you can use the DbEnv::set_error_stream and Db::set_error_stream methods 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 method may be called at any time during the life of the application.

Parameters

db_errcall_fcn
The db_errcall_fcn parameter is the application-specified error reporting function. The function takes three parameters:
dbenv
The dbenv parameter is the enclosing database environment.
errpfx
The errpfx parameter is the prefix string (as previously set by Db::set_errpfx or DbEnv::set_errpfx).
msg
The msg parameter is the error message string.

Class

Db

See Also

Databases and Related Methods

APIRef

Copyright (c) 1996-2004 Sleepycat Software, Inc. - All rights reserved.