Source code for ensemble.tools.exceptions

"""
    A module containing basic exception handlers for better error detection
"""

import warnings, click


[docs]class EnsembleAPIError(Exception): def __init__(self, error_message: str, target_dir: str = "") -> None: super().__init__(error_message) self._target_dir = target_dir @property def target_dir(self) -> str: return self._target_dir @property def get_messsage(self) -> str: (mess,) = self.args return mess
[docs]class EnsembleAPILoadLibraryError(EnsembleAPIError): def __init__(self, error_message: str, target_dir: str = "") -> None: super().__init__(error_message, target_dir) def __str__(self) -> str: return f"{self.get_messsage}, at: {self._target_dir}" def __repr__(self) -> str: return f"{self.__class__.__name__}({self.get_messsage},{self._target_dir})"
[docs]class EnsembleAPILoadFileError(EnsembleAPIError): def __init__(self, error_message: str, target_dir: str = "") -> None: super().__init__(error_message, target_dir) def __str__(self) -> str: return f"{self.get_messsage}, at: {self._target_dir}" def __repr__(self) -> str: return f"{self.__class__.__name__}({self.get_messsage},{self._target_dir})"
[docs]class EnsembleAPIWarning(Exception): """General Warnining""" def __init__(self, warning_message: str) -> None: click.echo(click.style(warning_message, fg="red", bold=True)) warnings.warn(warning_message)