Table of Contents

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.