Pythonのユーザー定義例外クラスを少し弄ったサンプルプログラム
Pythonのユーザー定義例外クラスを少し弄った、ユーザー定義例外クラス作成サンプルプログラムです。
個人的なメモとして書いたプログラムですが、需要があるかもしれないと考えて公開することにしました。
送出されたユーザー定義例外名をエラーメッセージの前に自動的に追加するように、ユーザー定義例外クラスを書き換えています。出力結果を見てもらえれば、ユーザー定義例外をexceptでキャッチした後のprint関数によるエラーメッセージ出力に、どのような変更がされているかが分かると思います。
このサンプルプログラムに対して質問がある方は、コメント欄より質問してください。まだPython初心者ですが、回答出来る範囲でお答えしたいと思っています。
★サンプルプログラム★
"""
Pythonのユーザー定義例外クラスを少し弄ったサンプルプログラム UserExpt.py
送出されたユーザー定義例外名をエラーメッセージの前に自動的に追加する。
https://docs.python.org/ja/3/tutorial/errors.html 等を参考のこと。
"""
class SampleError(Exception):
def __init__(self, *__args):
super().__init__(*__args)
self.__name = 'SampleError'
def __str__(self):
if (SupStr := super().__str__()):
return self.__name + ' ' + SupStr
else:
return self.__name
try:
raise SampleError('エラーメッセージ')
# raise SampleError # エラーメッセージ無しも可能
except SampleError as ExptInst:
print(type(ExptInst))
print(ExptInst.args)
print(ExptInst) # エラーメッセージの前にSampleErrorが追加されている。
★サンプルプログラムダウンロード★
★出力結果★ 『 32行目のprint(ExptInst) 出力で、エラーメッセージの前にSampleErrorが追加されている。』
#Python #Python3
#例外 #例外クラス
#ユーザー定義例外 #ユーザー定義例外クラス
#エラーメッセージ
#Exception
#try
#raise
#except