# Db::set_errfile

`

###

    #include <db_cxx.h>

    void Db::set_errfile(FILE *errfile);

# 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 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 method to display the additional information via an output stream, or the DbEnv::set_errcall method to capture the additional error information in a way that does not use either output streams or 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.

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.

The Db::set_errfile interface may be called at any time during the life of the application.

# Class

Db

# See Also

Databases and Related Methods`

Copyright Sleepycat Software