Pythonでのカスタム例外の作成と送出
デフォルトでPythonに存在する例外は、さまざまな状況におけるすべてのニーズを必ずしも満たすとは限りません。 そのため、Pythonには独自の例外タイプを作成する機能が組み込まれています。
例外を作成するには、キーワード class を使用して特別なOOPクラスを宣言する必要があります。
その右側に例外の名前を記述し、名前の後の丸括弧内に例外のタイプを記述します:
class 例外(例外タイプ):
pass
リストが長すぎる場合を捕捉するための独自クラス ToBigLength を作成してみましょう。
このクラスの丸括弧内に、捕捉する例外のタイプを記述します。
これを Exception 例外としましょう。
クラス本体には、とりあえず pass を記述できます:
class ToBigLength(Exception):
pass
今作成した例外の動作を確認してみましょう。
そのために try-except 構文を記述し、特別なコマンド raise を使用して例外を送出します:
try:
raise ToBigLength
except ToBigLength:
print('error: list is too big')
コードを実行すると、以下が出力されます:
'error: list is too big'
負の数を捕捉するための例外を作成してください。
ゼロを捕捉するための例外を作成してください。