Pythonで自作のエラー処理を実装する場合、新たなクラスとして定義します。Pythonのエラーは、構文エラーと例外に分けられます。この記事では後者を扱います。
例外の定義
自作の例外は以下のように定義します。
class MyError(Exception): pass
ここでは、Pythonに標準で組み込まれている Exception
(例外)クラスを継承して、MyError
という名前のクラスを定義しています。MyError
クラスの中身は必要ありません。
例外の呼び出し
定義した例外を呼び出すには、raise
文を使用します。
raise MyError('ここにエラーの内容を書きます。')
例外の処理
例外が発生してもプログラムの処理を続行したい場合、try, except
文を使用します。
try:
raise MyError("例外メッセージ")
except MyError as e:
print(e)
補足
小規模なプログラムなどであえて例外クラスを定義したくない場合、Exception
クラスを使って例外を発生させることも可能です。
raise Exception("例外の基底クラス")
ただし、Exception
クラスをそのまま使う場合、例外の処理に注意が必要です。try, except
文でException
クラスを処理するとき、Exception
クラスを継承しているクラスも処理されてしまいます。Pythonの多くの例外はException
クラスを継承しているため、予期しない挙動が生じやすくなります。
以上がPythonで自作のエラー処理を実装する方法についての基本的な説明です。この情報が役立つことを願っています。