Source code for minitrino.core.errors
"""Error classes for Minitrino CLI."""
[docs]
class MinitrinoError(Exception):
"""Base exception class for all Minitrino-related errors.
Parameters
----------
msg : str, optional
Message to log and include in the exception.
Attributes
----------
msg : str
Error message associated with the exception.
exit_code : int
Exit code for the error type. Defaults to 1.
"""
exit_code = 1
def __init__(self, msg: str = "") -> None:
super().__init__(msg)
self.msg = msg
def __str__(self) -> str:
"""Return the error message as a string."""
return self.msg
[docs]
class UserError(MinitrinoError):
"""User errors that Minitrino can safely log and display.
Attributes
----------
msg : str
Primary error message to display.
hint_msg : str
Optional user guidance for resolving the issue.
exit_code : int
Exit code used to signal a user-handled error. Defaults to 2.
Parameters
----------
msg : str, optional
Message to log and include in the exception.
hint_msg : str, optional
Additional guidance for resolving the issue.
"""
exit_code = 2
def __init__(self, msg: str = "", hint_msg: str = "") -> None:
if hint_msg:
super().__init__(f"User error: {msg}\nHint: {hint_msg}")
else:
super().__init__(f"User error: {msg}")