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.