Pythonでは、自作の例外クラスを作成することが可能です。これにより、エラーメッセージに動的な内容(例えば、エラーが発生した値など)を含めることができます。
以下に、自作の例外クラスを作成し、その例外が発生した際に引数を含むエラーメッセージを出力する例を示します。
class MyException(Exception):
def __init__(self, arg=""):
self.arg = arg
class InvalidInputException(MyException):
def __str__(self):
return f"[{self.arg}]は4桁の数字ではありません。 例:1月2日なら0102の形式で指定してください。"
class InvalidMonthException(MyException):
def __str__(self):
return f"[{self.arg}]は月ではありません。 01~12の値を指定してください。"
class InvalidDayException(MyException):
def __str__(self):
return f"[{self.arg}]は日ではありません。 01~31の値を指定してください。"
上記のコードでは、MyException
という基底クラスを作成し、そのクラスを継承したInvalidInputException
、InvalidMonthException
、InvalidDayException
という3つの例外クラスを作成しています。これらの例外クラスは、それぞれ異なるエラーメッセージを出力します。
例外クラスを作成する際には、__init__
メソッドで引数を受け取り、__str__
メソッドでその引数を含むエラーメッセージを出力するように設定します。
このように、Pythonで自作の例外クラスを作成することで、エラーハンドリングをより柔軟に行うことが可能になります。