aboutsummaryrefslogtreecommitdiff
path: root/tools/cru-py/cru/_error.py
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2025-02-22 18:11:35 +0800
committerYuqian Yang <crupest@crupest.life>2025-02-23 01:36:11 +0800
commit1e9b2436eaffa4130f6a69c3a108f6feb9dd4ac8 (patch)
tree585b6124b0100371b4bd8a291c4a59fbb5fbf1fe /tools/cru-py/cru/_error.py
parenta931457d61b053682d5e89a0cfb411e43e5e21c7 (diff)
downloadcrupest-1e9b2436eaffa4130f6a69c3a108f6feb9dd4ac8.tar.gz
crupest-1e9b2436eaffa4130f6a69c3a108f6feb9dd4ac8.tar.bz2
crupest-1e9b2436eaffa4130f6a69c3a108f6feb9dd4ac8.zip
feat(services): refactor structure.
Diffstat (limited to 'tools/cru-py/cru/_error.py')
-rw-r--r--tools/cru-py/cru/_error.py89
1 files changed, 0 insertions, 89 deletions
diff --git a/tools/cru-py/cru/_error.py b/tools/cru-py/cru/_error.py
deleted file mode 100644
index e53c787..0000000
--- a/tools/cru-py/cru/_error.py
+++ /dev/null
@@ -1,89 +0,0 @@
-from __future__ import annotations
-
-from typing import NoReturn, cast, overload
-
-
-class CruException(Exception):
- """Base exception class of all exceptions in cru."""
-
- @overload
- def __init__(
- self,
- message: None = None,
- *args,
- user_message: str,
- **kwargs,
- ): ...
-
- @overload
- def __init__(
- self,
- message: str,
- *args,
- user_message: str | None = None,
- **kwargs,
- ): ...
-
- def __init__(
- self,
- message: str | None = None,
- *args,
- user_message: str | None = None,
- **kwargs,
- ):
- if message is None:
- message = user_message
-
- super().__init__(
- message,
- *args,
- **kwargs,
- )
- self._message: str
- self._message = cast(str, message)
- self._user_message = user_message
-
- @property
- def message(self) -> str:
- return self._message
-
- def get_user_message(self) -> str | None:
- return self._user_message
-
- def get_message(self, use_user: bool = True) -> str:
- if use_user and self._user_message is not None:
- return self._user_message
- else:
- return self._message
-
- @property
- def is_internal(self) -> bool:
- return False
-
- @property
- def is_logic_error(self) -> bool:
- return False
-
-
-class CruLogicError(CruException):
- """Raised when a logic error occurs."""
-
- @property
- def is_logic_error(self) -> bool:
- return True
-
-
-class CruInternalError(CruException):
- """Raised when an internal error occurs."""
-
- @property
- def is_internal(self) -> bool:
- return True
-
-
-class CruUnreachableError(CruInternalError):
- """Raised when a code path is unreachable."""
-
-
-def cru_unreachable() -> NoReturn:
- raise CruUnreachableError("Code should not reach here!")