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 のクラス定義」をみてください。
以上、ここでは独自の例外クラスを作成し、その例外クラスを使う方法について説明しました。