from abc import ABCMeta class MeDaCaCRMDataFetchException(Exception, metaclass=ABCMeta): """MeDaCaシステム固有のカスタムエラークラス""" def __init__(self, error_id: str, func_name, message) -> None: super().__init__(message) self.func_name = func_name self.error_id = error_id class FileNotFoundException(MeDaCaCRMDataFetchException): """S3のファイルが見つからない場合の例外""" pass class FileUploadException(MeDaCaCRMDataFetchException): """S3のファイルアップロード失敗の例外""" pass class InvalidConfigException(MeDaCaCRMDataFetchException): """Configのバリデーションチェック失敗の例外""" pass class DataConvertException(MeDaCaCRMDataFetchException): """データ変換が失敗した場合の例外""" pass class SalesforceAPIException(MeDaCaCRMDataFetchException): """SalseforceのAPI実行失敗が発生した場合の例外""" pass