Skip to content

Group cxx_exceptions

Modules > cxx_exceptions

Classes

Type Name
struct mdbx::bad_map_id
Thrown on MDBX_BAD_DBI , i.e. an invalid table handle was used.
struct mdbx::bad_transaction
Thrown on MDBX_BAD_TXN , i.e. a transaction handle is invalid or was used after being finished.
struct mdbx::bad_value_size
Thrown on MDBX_BAD_VALSIZE , i.e. an unsupported size of a key or a data item.
struct mdbx::dangling_map_id
Thrown on MDBX_DANGLING_DBI , i.e. a table handle refers to a non-existent table.
struct mdbx::db_corrupted
Thrown on MDBX_CORRUPTED , i.e. the database is corrupted or an invalid data was detected.
struct mdbx::db_full
Thrown on MDBX_MAP_FULL , i.e. the database is full and the environment cannot be extended.
struct mdbx::db_invalid
Thrown on MDBX_INVALID , i.e. an invalid parameter was specified or the environment is already closed.
struct mdbx::db_too_large
Thrown on MDBX_TOO_LARGE , i.e. the database is too large for the current process/environment.
struct mdbx::db_unable_extend
Thrown on MDBX_UNABLE_EXTEND_MAPSIZE , i.e. the requested geometry change needs the mapping to be re-created but it could not be applied right now.
struct mdbx::db_version_mismatch
Thrown on MDBX_VERSION_MISMATCH , i.e. the database was created by an incompatible version of libmdbx.
struct mdbx::db_wanna_write_for_recovery
Thrown on MDBX_WANNA_RECOVERY , i.e. the database requires recovery usingmdbx_chk and/ormdbx_env_open_for_recovery() .
struct mdbx::duplicated_lck_file
Thrown on MDBX_DUPLICATED_LCK , i.e. the lock file was created in a manner that conflicts with the current process' state.
class mdbx::error
Implements error information and throwing corresponding exceptions.
class mdbx::exception
Base class for all libmdbx's exceptions that correspond to libmdbx errors.
class mdbx::exception_thunk
Transfers C++ exceptions thru C callbacks.
class mdbx::fatal
Fatal exception that leads to termination anyway in dangerous unrecoverable cases.
struct mdbx::incompatible_operation
Thrown on MDBX_INCOMPATIBLE , i.e. an operation is incompatible with the environment/table options.
struct mdbx::internal_page_full
Thrown on MDBX_PAGE_FULL , i.e. an item does not fit into a page of the table.
struct mdbx::internal_problem
Thrown on MDBX_PROBLEM , i.e. an unexpected internal problem was detected.
struct mdbx::key_exists
Thrown on MDBX_KEYEXIST , i.e. the key/data pair already exists and_MDBX_NOOVERWRITE _was specified.
struct mdbx::key_mismatch
Thrown on MDBX_EKEYMISMATCH , i.e. an insert with the append hint but the key is not the last one.
struct mdbx::laggard_reader
Thrown on MDBX_LAGGARD_READER , i.e. the reader is lagging too much behind.
struct mdbx::max_maps_reached
Thrown on MDBX_DBS_FULL , i.e. the maximum number of table handles has been reached.
struct mdbx::max_readers_reached
Thrown on MDBX_READERS_FULL , i.e. the environment's reader table is full.
struct mdbx::multivalue
Thrown on MDBX_EMULTIVAL , i.e. the operation is not supported for the multi-value (dupsort) key.
struct mdbx::mvcc_retarded
Thrown on MDBX_MVCC_RETARDED , i.e. the MVCC snapshot is retarded too much to continue.
struct mdbx::no_data
Thrown on MDBX_ENODATA , i.e. the requested data is missing.
struct mdbx::not_found
Thrown on MDBX_NOTFOUND , i.e. the requested key/data pair was not found.
struct mdbx::operation_not_permitted
Thrown on MDBX_EPERM , i.e. the operation is not permitted in the current state/environment mode.
struct mdbx::permission_denied_or_not_writeable
Thrown on MDBX_EACCESS , i.e. a permission was denied or the environment/data is not writable.
struct mdbx::reader_slot_busy
Thrown on MDBX_BAD_RSLOT , i.e. a reader slot is invalid or busy.
struct mdbx::remote_media
Thrown on MDBX_EREMOTE , i.e. a file/locking system call failed for the reason that could not be diagnosed.
struct mdbx::something_busy
Thrown on MDBX_BUSY , i.e. some resource is busy by another thread or process.
struct mdbx::thread_mismatch
Thrown on MDBX_THREAD_MISMATCH , i.e. the transaction/cursor is used by an alien thread.
struct mdbx::transaction_full
Thrown on MDBX_TXN_FULL , i.e. the transaction has too many dirty pages and cannot be continued.
struct mdbx::transaction_ousted
Thrown on MDBX_OUSTED , i.e. the current write transaction was ousted by a newer one.
struct mdbx::transaction_overlapping
Thrown on MDBX_TXN_OVERLAPPING , i.e. a write transaction was started while another one is in progress by the same process.

Public Functions

Type Name
LIBMDBX_API void throw_allocators_mismatch ()
LIBMDBX_API void throw_bad_value_size ()
LIBMDBX_API void throw_incomparable_cursors ()
LIBMDBX_API void throw_max_length_exceeded ()
LIBMDBX_API void throw_out_range ()
LIBMDBX_API void throw_too_small_target_buffer ()

Public Static Functions

Type Name
size_t check_length (size_t bytes)
size_t check_length (size_t headroom, size_t payload)
size_t check_length (size_t headroom, size_t payload, size_t tailroom)
size_t check_nullptr_length (size_t bytes)
The only length allowed for a null pointer: zero. A null pointer with a non-zero length would dereference address zero; it is rejected with bad_value_size .

Macros

Type Name
define MDBX_DECLARE_EXCEPTION (NAME) /* multi line expression */

Public Functions Documentation

function throw_allocators_mismatch

LIBMDBX_API void throw_allocators_mismatch () 

function throw_bad_value_size

LIBMDBX_API void throw_bad_value_size () 

function throw_incomparable_cursors

LIBMDBX_API void throw_incomparable_cursors () 

function throw_max_length_exceeded

LIBMDBX_API void throw_max_length_exceeded () 

function throw_out_range

LIBMDBX_API void throw_out_range () 

function throw_too_small_target_buffer

LIBMDBX_API void throw_too_small_target_buffer () 

Public Static Functions Documentation

function check_length

static size_t check_length (
    size_t bytes
) 

function check_length

static size_t check_length (
    size_t headroom,
    size_t payload
) 

function check_length

static size_t check_length (
    size_t headroom,
    size_t payload,
    size_t tailroom
) 

function check_nullptr_length

The only length allowed for a null pointer: zero. A null pointer with a non-zero length would dereference address zero; it is rejected with bad_value_size .

static size_t check_nullptr_length (
    size_t bytes
) 

Macro Definition Documentation

define MDBX_DECLARE_EXCEPTION

#define MDBX_DECLARE_EXCEPTION (
    NAME
) `/* multi line expression */`