Viewing file: except_class.html (3.47 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
Berkeley DB: DbException
DbException
|
 |
#include <db_cxx.h>
class DbException {
public:
int get_errno() const;
virtual const char *what() const;
DbEnv *get_env() const;
};
Description: DbException
This information describes the DbException class and how it is
used by the various Berkeley DB classes.
Most methods in the Berkeley DB classes return an int, but also throw an
exception. This allows for two different error behaviors. By default,
the Berkeley DB C++ API is configured to throw an exception whenever a serious
error occurs. This generally allows for cleaner logic for transaction
processing because a try block can surround a single transaction.
Alternatively, Berkeley DB can be configured to not throw exceptions, and
instead have the individual function return an error code, by setting
the DB_CXX_NO_EXCEPTIONS for the Db and DbEnv
constructors.
A DbException object contains an informational string, an errno, and a
reference to the environment from which the exception was thrown. The
errno can be obtained by using DbException::get_errno, and can be
used, in standard cases, to determine the type of the exception. The
informational string can be obtained by using DbException::what. And,
the environment can be obtained using DbException::get_env.
We expect in the future that this class will inherit from the standard
class exception, but certain language implementation bugs currently
prevent this on some platforms.
Some methods may return non-zero values without issuing an exception.
This occurs in situations that are not normally considered an error, but
when some informational status is returned. For example,
Db::get returns DB_NOTFOUND when a requested key does
not appear in the database.
Copyright (c) 1996-2004 Sleepycat Software, Inc. - All rights reserved.
|