Exception Types

Using db4o you will have to deal with db4o-specific exceptions and system exceptions thrown directly out of db4o (like OutOfMemory error in Java or System.Exception in .NET).

Db4o-specific exceptions are Unchecked exceptions, which all inherit from a single root class Db4oException.

Db4o exceptions are chained; you can get the cause of the exception using:

c#: 

db4oException.Source;

VB: 

db4oException.Source;

In order to see all db4o-specific exceptions you can examine the hierarchy of Db4oException class. Currently the following exceptions are available:

Db4oException - db4o exception wrapper: exceptions occurring during internal processing will be proliferated to the client calling code encapsulated in an exception of this type.

BackupInProgressException - an exception to be thrown when another process is already busy with the backup.

ConstraintViolationException - base class for all constraint exceptions.

UniqueFieldValueConstraintViolationException - an exception to be used to determine constraint violation on commit.

DatabaseClosedException - an exception to be thrown when the database was closed or failed to open. 

DatabaseFileLockedException - this exception is thrown during any of db4o open calls if the database file is locked by another process. 

DatabaseMaximumSizeReachedException - this exception is thrown if the database size is bigger than possible. 

DatabaseReadOnlyException - an exception to be thrown when a write operation was attempted on a database in read-only mode.

GlobalOnlyConfigException - this exception is thrown when a global-only configuration setting is attempted for the local configuration. 

IncompatibleFileFormatException - an exception to be thrown when an open operation is attempted on a file(database), which format is incompatible with the current version of db4o.

InvalidIDException - an exception to be thrown when an ID format supplied to #bind or #getById methods is incorrect. 

InvalidPasswordException - this exception is thrown when the password provided to access an encrypted database is not correct. 

OldFormatException - an exception to be thrown when an old file format was detected and the file could not be open.

ReflectException - an exception to be thrown when a class can not be stored or instantiated by current db4o reflector.

ReplicationConflictException - an exception to be thrown when a conflict occurs and no ReplicationEventListener is specified.