#include <db_cxx.h>
 
void Db::set_errcall(void (*db_errcall_fcn)
    (const DbEnv *dbenv, const char *errpfx, const char *msg));
      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
         Db::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.
    
        When used on a database that was not opened in
        an environment, the Db::set_errcall()
        method configures operations performed using the specified 
        Db handle, not all operations
        performed on the underlying database.
    
         The Db::set_errcall() method may be called at any time during the
         life of the application.
    
Berkeley DB is not re-entrant. Callback functions should not attempt to make library calls (for example, to release locks or close open handles). Re-entering Berkeley DB is not guaranteed to work correctly, and the results are undefined.
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.