feat(lib): add errors module

Introduce AiMouseError base class plus ModelLoadError and
GenerationError subclasses so downstream consumers can catch the
umbrella or specific failure modes.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-12 01:02:57 +08:00
parent 17b406c28b
commit 8182bb1a01
2 changed files with 37 additions and 0 deletions

19
tests/unit/test_errors.py Normal file
View File

@@ -0,0 +1,19 @@
"""Test the error hierarchy."""
from __future__ import annotations
import pytest
from ai_mouse import errors
def test_model_load_error_is_aimouse_error() -> None:
assert issubclass(errors.ModelLoadError, errors.AiMouseError)
def test_generation_error_is_aimouse_error() -> None:
assert issubclass(errors.GenerationError, errors.AiMouseError)
def test_can_catch_specific_with_general() -> None:
with pytest.raises(errors.AiMouseError):
raise errors.ModelLoadError("test")