Namespace FishMMO.Database.Exceptions
Classes
- DatabaseEntityNotFoundException
Exception thrown when a requested entity or record is not found in the database. Not transient - indicates the data does not exist.
- DatabaseException
Base exception for all database-related errors in the FishMMO database layer. Provides safe error messages for client communication while preserving detailed information for logging. Follows Open/Closed Principle: extensible through inheritance for specific error types.
- DuplicateReplayException
Thrown when a version-gated write is attempted with an incoming Version equal to the persisted Version. This represents a duplicate replay (or double-submit) and must not be treated as success.
- StaleStateException
Thrown when an operation fails due to stale state (optimistic concurrency violation). The incoming version is behind the persisted version, indicating a conflicting write occurred. This is a non-transient, non-retryable logical failure.