DB->set_errfile()
Prev | Chapter 2. The DB Handle | Next

## DB->set_errfile()

    #include <db.h>

    void
    DB->set_errfile(DB *db, FILE *errfile);

When an error occurs in the Berkeley DB library, a Berkeley DB error 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 DB_ENV->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 DB_ENV->set_errcall() or DB->set_errcall() methods to capture the additional error information in a way that does not use C library FILE *'s.

The error message will consist of the prefix string and a colon (":") (if a prefix string was previously specified using DB->set_errpfx() or DB_ENV->set_errpfx() ), an error string, and a trailing <newline> character.

The default configuration when applications first create DB or DB_ENV handles is as if the DB_ENV->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 DB_ENV->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:

- `DB->set_errfile()`

- DB_ENV->set_errfile()

- DB_ENV->set_errcall()

- DB->set_errcall()

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 DB_ENV->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.

### Parameters

#### errfile

The errfile parameter is a C library `FILE *` to be used for displaying additional Berkeley DB error information.

### Class

DB

### See Also

Database and Related Methods

Prev | Up | Next
DB->set_errcall() | Home | DB->set_errpfx()