<!--$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: DB_ENV->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>DB_ENV->set_errcall</h3> </td> <td align=right> <a href="../../db46-devel-4.6.21/api_c/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.h> <p> void DB_ENV->set_errcall(DB_ENV *dbenv, void (*db_errcall_fcn) (const DB_ENV *dbenv, const char *errpfx, const char *msg)); </pre></h3> <hr size=1 noshade> <h3>Description: DB_ENV->set_errcall</h3> <p>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 <b>errno</b> value may be insufficient to completely describe the cause of the error, especially during initial application debugging.</p> <p>The DB_ENV->set_errcall and <a href="../../db46-devel-4.6.21/api_c/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_c/db_set_errfile.html">DB->set_errfile</a> or <a href="../../db46-devel-4.6.21/api_c/env_set_errfile.html">DB_ENV->set_errfile</a> methods to display the additional information via a C library FILE *.</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 DB_ENV->set_errcall method configures operations performed using the specified <a href="../../db46-devel-4.6.21/api_c/env_class.html">DB_ENV</a> handle, not all operations performed on the underlying database environment.</p> <p>The DB_ENV->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_c/db_set_errpfx.html">DB->set_errpfx</a> or <a href="../../db46-devel-4.6.21/api_c/env_set_errpfx.html">DB_ENV->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_c/env_class.html">DB_ENV</a> <h3>See Also</h3> <a href="../../db46-devel-4.6.21/api_c/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_c/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>