Db::set_errfile API Ref

#include <db_cxx.h>

void Db::set_errfile(FILE *errfile);

void Db::get_errfile(FILE **errfilep);


Description: Db::set_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 exception or returned 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.

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 DbEnv::set_errfile, Db::set_errfile, DbEnv::set_errcall, Db::set_errcall, DbEnv::set_error_stream or Db::set_error_stream 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.

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

Description: Db::get_errfile

The Db::get_errfile method returns the FILE *.

The Db::get_errfile method may be called at any time during the life of the application.

The Db::get_errfile method either returns a non-zero error value or throws an exception that encapsulates a non-zero error value on failure, and returns 0 on success.

Parameters
errfilep


Class Db
See Also Databases and Related Methods

APIRef

Copyright (c) 1996,2008 Oracle. All rights reserved.