# Package org.multiverse.api.exceptions

Exception Summary
Exception | Description
--- | ---
AbortOnlyException | An `IllegalTxnStateException` thrown when a `Txn` is configured as abort only and a prepare/commit is executed.
AtomicOperationException | A `TxnExecutionException` thrown when an atomic operation has failed (e.g.
DeadTxnException | An `IllegalTxnStateException` thrown when an action is executed on a `Txn` that is either committed or aborted.
IllegalCommuteException | A `TxnExecutionException` thrown when `Txn` access is done while a commuting function is being evaluated.
IllegalTxnFactoryException | An `IllegalStateException` thrown when a `TxnFactory` can't be created because the `TxnConfig` is not correct.
IllegalTxnStateException | A `TxnExecutionException` thrown when an operation is executed on a `Txn` when it is not in a valid state for that operation.
InvisibleCheckedException | A `RuntimeException` thrown when a checked exception is thrown but can't be rethrown.
LockedException | An `AtomicOperationException` thrown when an atomic operation was executed on a `TxnObject` while it was locked.
PreparedTxnException | An `IllegalTxnStateException` thrown when an operation is executed on a `Txn` while the transaction is prepared.
PropagationException | An `IllegalStateException` throw when there is a conflict with the `Txn` propagation.
ReadonlyException | An `IllegalTxnStateException` thrown when a write action is executed using a readonly `Txn`.
RetryException | A `TxnExecutionException` thrown when retrying a transaction for another attempt fails.
RetryInterruptedException | A `RetryException` thrown when the blocking operation on a `Txn` using the retry has been interrupted.
RetryNotAllowedException | A `RetryException` thrown when a `StmUtils.retry()` or `Txn.retry()` is done while the `Txn` doesn't allow blocking transactions.
RetryNotPossibleException | A `RetryException` throw when a `StmUtils.retry()` or `Txn.retry()` done on a `Txn` without the possibility of progress, for example when the readset of a transaction is empty.
RetryTimeoutException | A `RetryException` thrown when a transaction times out while it blocks on a retry (so waits for an update).
StmMismatchException | A `TxnExecutionException` thrown when a transaction encounters encounters a transactional object that belongs to a different Stm instance.
TodoException | A `RuntimeException` thrown when some part of the implementation is missing.
TooManyRetriesException | A `RetryException` thrown when a `Txn` is retried too many times.
TxnExecutionException | A `RuntimeException` thrown when something fails while executing a `Txn`.
TxnMandatoryException | A `PropagationException` thrown when no `Txn` is available while it is mandatory.
TxnNotAllowedException | A `PropagationException` thrown when a `Txn` is found, but is not allowed.

Error Summary
Error | Description
--- | ---
ControlFlowError | An `Error` thrown to regulate control flow inside multiverse `TxnExecutor`.
PanicError | An `Error` thrown when the state of the `Stm` has been compromised.
ReadWriteConflict | A `ControlFlowError` thrown when a reading or writing a `TxnObject` failed, e.g.
RetryError | A `ControlFlowError` thrown when an explicit retry is done on a `Txn`.
SpeculativeConfigurationError | A `ControlFlowError` thrown for dealing with the speculative configuration mechanism.