まずは定義
class err(Exception):
pass
Exceptionクラスを継承するだけで自作エラーが定義できます
自作エラーを発生させる
class err(Exception):
pass
raise err('エラーメッセージ')
raise エラー でわざとエラーを発生させることができます
すると
Traceback (most recent call last):
File "Main.py", line 4, in <module>
raise err('エラーメッセージ')
__main__.err: エラーメッセージ
こんな感じのエラーが表示されます
もちろんtry-exceptでエラーをキャッチすることもできます
class err(Exception):
pass
try:
raise err('エラーメッセージ')
except err as e:
print(e)
エラーメッセージ
オマケ
class err1(NameError):
pass
class err2(KeyError):
pass
class err3(IndexError):
pass
class err4(OSError):
pass
class err5(SyntaxError):
pass
Exception以外でもエラーであればなんでも継承することができます(なぜかSyntaxErrorも継承できる)
インデックスとか何も間違ってないのにSyntaxErrorが出てきたら怖いし夢に出てきそうなのでSyntaxErrorは継承しない方がいいと思います