\

Pythonでは、エラーハンドリングは非常に重要な部分を占めています。特に、エラーの内容ごとに異なる処理を行う必要があります。この記事では、Pythonでの例外処理とエラーコードの活用について解説します。

カスタム例外クラスの作成

Pythonでは、Exceptionクラスを継承してカスタム例外クラスを作成することができます。以下に、カスタム例外クラスの基本的な定義を示します。

class CustomExceptionBase(Exception):
    STATUS_CODE: int = None
    DEFAULT_MESSAGE: str = "デフォルトメッセージです"

    def __init__(self, msg=None, *args, **kwargs):
        if not msg:
            msg = self.DEFAULT_MESSAGE
        super().__init__(msg, *args, **kwargs)

このCustomExceptionBaseクラスは、Exceptionクラスを継承しています。STATUS_CODEDEFAULT_MESSAGEは、それぞれエラーコードとデフォルトのエラーメッセージを表します。

サブクラスの作成

次に、このCustomExceptionBaseクラスを継承して、具体的なエラーシチュエーションを表すサブクラスを作成します。以下に、タイムアウトエラーを表すTimeOutExceptionクラスの例を示します。

class TimeOutException(CustomExceptionBase):
    STATUS_CODE = 403
    DEFAULT_MESSAGE = "Time out error!!"

このTimeOutExceptionクラスでは、STATUS_CODE403に、DEFAULT_MESSAGE"Time out error!!"に設定しています。これにより、タイムアウトエラーが発生した場合には、ステータスコード403とメッセージ"Time out error!!"が出力されます。

例外の使用

最後に、これらのカスタム例外クラスを使用する方法を見てみましょう。

try:
    # エラーが発生する可能性があるコード
    ...
except TimeOutException:
    # タイムアウトエラーが発生した場合の処理
    ...
except CustomExceptionBase as e:
    # その他のカスタム例外が発生した場合の処理
    return {
        "statusCode": e.STATUS_CODE,
        "body": {
            "message": str(e),
            "headers": hogehoge,
        }
    }

このコードでは、tryブロック内でエラーが発生した場合に、適切な例外処理が行われます。

以上がPythonでの例外処理とエラーコードの基本的な活用方法です。これらの知識を活用して、より堅牢なPythonコードを書くことができます。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です