2021年7月30日金曜日

Python でカスタムエラーを作成する方法

Python でカスタムエラーを作成する方法

概要

Python で独自のエラークラスを作成する方法を紹介します

環境

  • macOS 11.5
  • Python 3.8.3

サンプルコード

class InvalidStringError(Exception):
    def __init__(self, name):
        self.message = "A name of {} has an invalid character.".format(name)

def check_name(name):
    if 'z' in name:
        raise InvalidStringError(name)
    return True

try:
    check_name("hawk")
    check_name("hawkz")
except InvalidStringError as e:
    print(e.message)

少し解説

Exception を継承して作成します 共通のメッセージや共通のパラメータを管理するのであれば一段 Base を挟んで継承すると良いと思います

コンストラクタは定義しなくても OK ですが message などは最低限必要になるので設定できるようにしておくと良いと思います

使用する場合は普通に raise すれば OK です エラーも execpt で検出することができます

参考サイト

0 件のコメント:

コメントを投稿