1. ホーム 
  2. 備忘録 
  3. Python

独自例外

独自例外とは

Exceptionには色々な種類が用意されているが、新規に独自例外を作りたい場合がある

独自例外は Exception クラスを継承することで作成でき、raise文 にてエラー発生時に通知することができる

独自例外処理について書き方を以下に記載する


class UppercaseError(Exception):
    pass


def check():
    words = ['APPLE', 'orange', 'banana']
    for word in words:
        if word.isupper():
            # 全て大文字ならエラー
            raise UppercaseError(word)


try:
    check()
except UppercaseError as ex:
    print(f'This is my fault. word:{ex}') # This is my fault. word:APPLE

"""
Python の既存のエラー種別である ValueError でも意味合いは間違っていないが、
raise文 で自分でエラーを発生させるのであれば独自例外クラスを作ったほうがよい。
他のプログラマがこのエラーを検知してプログラムを確認したときに、
独自例外クラスであれば『きちんと認識されているエラー』として判断がつく
"""