<!--$Id: env_set_errcall.so,v 10.39 2006/05/17 20:47:46 bostic Exp $--> <!--Copyright (c) 1997,2007 Oracle. All rights reserved.--> <!--See the file LICENSE for redistribution information.--> <html> <head> <title>Berkeley DB: DbEnv::set_errcall</title> <meta name="description" content="Berkeley DB: An embedded database programmatic toolkit."> <meta name="keywords" content="embedded,database,programmatic,toolkit,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,Java,C,C++"> </head> <body bgcolor=white> <table width="100%"><tr valign=top> <td> <h3>DbEnv::set_errcall</h3> </td> <td align=right> <a href="../../db46-devel-4.6.21/api_cxx/api_core.html"><img src="../../db46-devel-4.6.21/images/api.gif" alt="API"></a> <a href="../../db46-devel-4.6.21/ref/toc.html"><img src="../../db46-devel-4.6.21/images/ref.gif" alt="Ref"></a></td> </tr></table> <hr size=1 noshade> <tt> <h3><pre> #include <db_cxx.h> <p> void DbEnv::set_errcall(void (*db_errcall_fcn) (const Dbenv *dbenv, const char *errpfx, const char *msg)); </pre></h3> <hr size=1 noshade> <h3>Description: DbEnv::set_errcall</h3> 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 <b>errno</b> value may be insufficient to completely describe the cause of the error, especially during initial application debugging. <p>The DbEnv::set_errcall and <a href="../../db46-devel-4.6.21/api_cxx/db_set_errcall.html">Db::set_errcall</a> 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 <b>db_errcall_fcn</b> with additional error information. It is up to the <b>db_errcall_fcn</b> function to display the error message in an appropriate manner.</p> <p>Setting <b>db_errcall_fcn</b> to NULL unconfigures the callback interface.</p> <p>Alternatively, you can use the <a href="../../db46-devel-4.6.21/api_cxx/env_set_error_stream.html">DbEnv::set_error_stream</a> and <a href="../../db46-devel-4.6.21/api_cxx/db_set_error_stream.html">Db::set_error_stream</a> methods to display the additional information via an output stream, or the <a href="../../db46-devel-4.6.21/api_cxx/db_set_errfile.html">Db::set_errfile</a> or <a href="../../db46-devel-4.6.21/api_cxx/env_set_errfile.html">DbEnv::set_errfile</a> methods to display the additional information via a C library FILE *. You should not mix these approaches.</p> <p>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.</p> <p>The DbEnv::set_errcall method configures operations performed using the specified <a href="../../db46-devel-4.6.21/api_cxx/env_class.html">DbEnv</a> handle, not all operations performed on the underlying database environment.</p> <p>The DbEnv::set_errcall method may be called at any time during the life of the application.</p> <h3>Parameters</h3> <dl compact> <dt><b>db_errcall_fcn</b><dd>The <b>db_errcall_fcn</b> parameter is the application-specified error reporting function. The function takes three parameters: <dl compact> <dt><b>dbenv</b><dd>The <b>dbenv</b> parameter is the enclosing database environment. <dt><b>errpfx</b><dd>The <b>errpfx</b> parameter is the prefix string (as previously set by <a href="../../db46-devel-4.6.21/api_cxx/db_set_errpfx.html">Db::set_errpfx</a> or <a href="../../db46-devel-4.6.21/api_cxx/env_set_errpfx.html">DbEnv::set_errpfx</a>). <dt><b>msg</b><dd>The <b>msg</b> parameter is the error message string. </dl> <p>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.</p> </dl> <hr size=1 noshade> <h3>Class</h3> <a href="../../db46-devel-4.6.21/api_cxx/env_class.html">DbEnv</a> <h3>See Also</h3> <a href="../../db46-devel-4.6.21/api_cxx/env_list.html">Database Environments and Related Methods</a> </tt> <table width="100%"><tr><td><br></td><td align=right> <a href="../../db46-devel-4.6.21/api_cxx/api_core.html"><img src="../../db46-devel-4.6.21/images/api.gif" alt="API"></a><a href="../../db46-devel-4.6.21/ref/toc.html"><img src="../../db46-devel-4.6.21/images/ref.gif" alt="Ref"></a> </td></tr></table> <p><font size=1>Copyright (c) 1996,2007 Oracle. All rights reserved.</font> </body> </html>