import com.sleepycat.db.*;

public interface DbErrcall { public abstract void errcall(String errpfx, String msg); } public class DbEnv { public void set_errcall(DbErrcall errcall); ... }


When an error occurs in the Berkeley DB library, an exception is thrown. 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. The DbEnv.set_errcall and Db.set_errcall methods must be called with a single object argument. The object's class must implement the DbErrcall interface. In some cases, when an error occurs, Berkeley DB will invoke the object's errcall() method with two arguments; the first is the prefix string (as previously set by Db.set_errpfx or DbEnv.set_errpfx), the second will be an error message string. It is up to this method to display the message in an appropriate manner.

Alternatively, you can use the DbEnv.set_error_stream method to display the additional information via an output stream. You should not mix these approaches.

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.

The DbEnv.set_errcall interface may be used to configure Berkeley DB at any time during the life of the application.



See Also

DbEnv.close, DbEnv.get_version_string, DbEnv.open, DbEnv.remove, DbEnv.set_cachesize, DbEnv.set_data_dir, DbEnv.set_errcall, DbEnv.set_error_stream, DbEnv.set_errpfx, DbEnv.set_feedback, DbEnv.set_flags, DbEnv.set_mutexlocks, DbEnv.set_pageyield, DbEnv.set_panicstate, DbEnv.set_recovery_init, DbEnv.set_rpc_server, DbEnv.set_region_init, DbEnv.set_shm_key, DbEnv.set_tas_spins, DbEnv.set_tmp_dir, DbEnv.set_verbose, and DbEnv.strerror.


Copyright Sleepycat Software