from abc import ABCMeta class MeDaCaException(Exception, metaclass=ABCMeta): """MeDaCaシステム固有のカスタムエラークラス""" def __init__(self, error_id: str, message) -> None: super().__init__(message) self.error_id = error_id class FileNotFoundException(MeDaCaException): """S3のファイルが見つからない場合の例外""" pass class ParameterNotFoundException(MeDaCaException): """パラメータストアのキーが見つからない場合の例外""" pass class DatabaseConnectionException(MeDaCaException): """データベース接続に失敗した場合の例外""" pass class QueryExecutionException(MeDaCaException): """クエリ実行に失敗した場合の例外""" pass class SNSPublishException(MeDaCaException): """AmazonSNSへの通知に失敗した場合の例外""" pass class JSONParseException(MeDaCaException): """JSONのパースに失敗した場合の例外""" pass