#備忘録です
エラー処理実装している時にすっかり頭から抜けていた知識の備忘録。
#内容
##try-exceptでエラー処理
基本の基本はこれ。
これを実行すると「エラーです!」ってちゃんとでる。
def main():
try:
a = 1 / 0
except:
print("エラーです!")
main()
出力結果:
>>エラーです!
頭から抜けていたのがこの部分。
exceptに入れば以降の処理はされないっしょー!って思ってたら違った。
冷静になればそりゃそうなんだけど、集中しててすっかり忘れていた。
def main():
try:
a = 1 / 0
except:
print("エラーです!")
print("ここも処理されちゃう")
print("だってまだmainの中だもん")
main()
出力結果:
>>エラーです!
>>ここも処理されちゃう
>>だってまだmainの中だもん
finallyがあっても同じ挙動。
def main():
try:
a = 1 / 0
except:
print("エラーです!")
else:
print("ここはelse")
finally:
print("ここはfinally?")
print("ここも処理されちゃう")
print("だってまだmainの中だもん")
main()
出力結果:
>>エラーです!
>>ここはfinally?
>>ここも処理されちゃう
>>だってまだmainの中だもん
多分もっと良いやり方あるんだろうけど、一旦こういうやり方で実装。
def main():
try:
do_main()
except Exception as e:
print("エラー:"+str(e))
def do_main():
try:
a = 1/0
except:
raise Exception("わっしょい")
print("ここは処理される?")
print("mainの中だけど大丈夫?")
main()
出力結果:
>>エラー:わっしょい