Source code for eventsourcing.exceptions

[docs]class EventSourcingError(Exception): """Base eventsourcing exception."""
[docs]class TopicResolutionError(EventSourcingError): """Raised when unable to resolve a topic to a Python class."""
[docs]class EntityVersionNotFound(EventSourcingError): """Raise when accessing an entity version that does not exist."""
[docs]class ConcurrencyError(EventSourcingError): """Raised when appending events at the wrong version to a versioned stream."""
[docs]class ConsistencyError(EventSourcingError): """Raised when applying an event stream to a versioned entity."""
[docs]class MismatchedOriginatorError(ConsistencyError): """Raised when applying an event to an inappropriate object."""
[docs]class MismatchedOriginatorIDError(MismatchedOriginatorError): """Raised when applying an event to the wrong entity or aggregate."""
[docs]class MismatchedOriginatorVersionError(MismatchedOriginatorError): """Raised when applying an event to the wrong version of an entity or aggregate."""
[docs]class MutatorRequiresTypeNotInstance(ConsistencyError): """Raised when mutator function received a class rather than an entity."""
[docs]class EntityIsDiscarded(AssertionError): """Raised when access to a recently discarded entity object is attempted."""
[docs]class ProgrammingError(EventSourcingError): """Raised when programming errors are encountered."""
[docs]class RepositoryKeyError(KeyError, EventSourcingError): """Raised when using entity repository's dictionary like interface to get an entity that does not exist."""
[docs]class ArrayIndexError(IndexError, EventSourcingError): """Raised when appending item to an array that is full."""
[docs]class DatasourceSettingsError(EventSourcingError): "Raised when an error is detected in settings for a datasource."
[docs]class SequencedItemError(EventSourcingError): "Raised when an integer sequence error occurs e.g. trying to save a version that already exists."
[docs]class TimeSequenceError(EventSourcingError): "Raised when a time sequence error occurs e.g. trying to save a timestamp that already exists."