#include <db_cxx.h> void Db::set_errfile(FILE *errfile);
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_errfile()  and
         Db::set_errfile() methods are used to enhance the mechanism for
         reporting error messages to the application by setting a C library
         FILE * to be used for displaying additional Berkeley DB error
         messages.  In some cases, when an error occurs, Berkeley DB will
         output an additional error message to the specified file reference.
    
Alternatively, you can use the DbEnv::set_error_stream() and Db::set_error_stream() methods to display the additional messages via an output stream, or the DbEnv::set_errcall() or Db::set_errcall() methods to capture the additional error information in a way that does not use C library FILE *'s. You should not mix these approaches.
The error message will consist of the prefix string and a colon (":") (if a prefix string was previously specified using Db::set_errpfx() or DbEnv::set_errpfx() ), an error string, and a trailing <newline> character.
         The default configuration when applications first create 
         Db  or 
         DbEnv  handles is as if the
         DbEnv::set_errfile()  or
         Db::set_errfile() methods were called with the standard error output
         (stderr) specified as the FILE * argument.  Applications wanting no
         output at all can turn off this default configuration by calling the
         DbEnv::set_errfile()  or
         Db::set_errfile() methods with NULL as the FILE * argument. 
         Additionally, explicitly configuring the error output channel using
         any of the following methods will also turn off this default output for the application:
     
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_errfile()
         method affects the entire environment and is equivalent to calling the
         DbEnv::set_errfile() 
         method.
    
        When used on a database that was not opened in
        an environment, the Db::set_errfile()
        method configures operations performed using the specified 
        Db handle, not all operations
        performed on the underlying database.
    
         The Db::set_errfile() method may be called at any time during the
         life of the application.