Python のユーザー定義例外クラス

Python で例外クラスを定義する

ここでは Python で自作の例外クラスを定義する方法と、その例外クラスを使う方法について説明します。

Python で例外クラスを自分で定義するときには、Python のビルトインの Exception クラスを親クラスになるように例外クラスを作ります。

直接継承しなくても良いですが、ベースを辿れば Exception に行き着くようなクラスを親クラスに選びます。

例えば、 MyError という名前の例外クラスを定義するなら、次のようにします。

class MyError(Exception):
    def __init__(self):
        pass

    def __str__(self):
        return "Hi I'm MyError!"

必要なら__init__ で引数を受け取るのももちろん構いません。

また、 __str__ は例外オブジェクトをプリントしたときに表示される文字列を返します。

Python でユーザー定義クラスを使う

Exception クラスから派生したクラスであれば、ユーザー定義のオブジェクトでも raise キーワードを使って例外を投げることができます。

この例外オブジェクトを raise すると次のようになります。

try:
    raise MyError()
except Exception as e:
    print(e)  # "Hi I'm MyError!"" と出力される

一般的なクラス定義、継承の方法などについては「Python のクラス定義」をみてください。

以上、ここでは独自の例外クラスを作成し、その例外クラスを使う方法について説明しました。

ここまでお読みいただき、誠にありがとうございます。SNS 等でこの記事をシェアしていただけますと、大変励みになります。どうぞよろしくお願いします。

© 2024 Python 入門