mud_server.db.errors ==================== .. py:module:: mud_server.db.errors .. autoapi-nested-parse:: Typed database/domain exceptions for the DB package. This module defines a small, explicit exception hierarchy used by repository modules to signal infrastructure failures (for example SQLite connection/query errors) without collapsing all failures into boolean return values. Design intent: - Domain outcomes like "row not found" can still be represented by ``None``/``False`` where contracts already use those values. - Infrastructure failures should raise typed exceptions so API boundaries can map them to deterministic HTTP 5xx responses and logs. Exceptions ---------- .. autoapisummary:: mud_server.db.errors.DatabaseError mud_server.db.errors.DatabaseOperationError mud_server.db.errors.DatabaseReadError mud_server.db.errors.DatabaseWriteError Classes ------- .. autoapisummary:: mud_server.db.errors.DatabaseOperationContext Module Contents --------------- .. py:class:: DatabaseOperationContext Structured operation metadata carried by repository exceptions. .. attribute:: operation Stable operation identifier (for example ``"sessions.create_session"``). .. attribute:: details Optional human-readable context for logs and debugging. .. py:attribute:: operation :type: str .. py:attribute:: details :type: str | None :value: None .. py:exception:: DatabaseError Bases: :py:obj:`RuntimeError` Base exception for DB-layer failures. Initialize self. See help(type(self)) for accurate signature. .. py:exception:: DatabaseOperationError(*, context, cause = None) Bases: :py:obj:`DatabaseError` Base exception for repository operation failures. :param context: Structured operation metadata. :param cause: Optional underlying exception. Initialize self. See help(type(self)) for accurate signature. .. py:attribute:: context .. py:attribute:: cause :value: None .. py:exception:: DatabaseReadError(*, context, cause = None) Bases: :py:obj:`DatabaseOperationError` Repository read/query failure. Initialize self. See help(type(self)) for accurate signature. .. py:exception:: DatabaseWriteError(*, context, cause = None) Bases: :py:obj:`DatabaseOperationError` Repository mutation/transaction failure. Initialize self. See help(type(self)) for accurate signature.