Berkeley DB: DB->set_errcall
Description: Berkeley DB: An embedded database programmatic toolkit.
Keywords: embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++

# DB->set_errcall |

`

###

    #include <db.h>

    void
    DB->set_errcall(DB *,
        void (*db_errcall_fcn)(const char *errpfx, char *msg));

# Description

When an error occurs in the Berkeley DB library, a Berkeley DB error or an error return value is returned by the function. In some cases, however, the errno value may be insufficient to completely describe the cause of the error especially during initial application debugging.

The DB->set_errcall function is 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 declared 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 function to display the error message in an appropriate manner.

Alternatively, you can use the DB->set_errfile or DBENV->set_errfile functions to display the additional information via a C library FILE *.

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 function affects the entire environment and is equivalent to calling the DBENV->set_errcall function.

The DB->set_errcall interface may be used to configure Berkeley DB at any time during the life of the application.

# See Also

DBENV->close, db_env_create, DBENV->open, DBENV->remove, DBENV->err, db_strerror, db_version, DBENV->set_cachesize, DBENV->set_errcall, DBENV->set_errfile, DBENV->set_errpfx, DBENV->set_paniccall, and DBENV->set_verbose.`

Copyright Sleepycat Software