演習課題「呼び出し元へ例外を伝えよう」
右のコードは、100を引数で割り算するtest_exceptionメソッドを呼び出しています。
しかし、13行目のprintが実行されません。
このコードにfinallyを追加して、例外が発生してもしなくても、「処理が終了しました」と表示されるようにしましょう。
プログラムを実行して、想定どおり出力されれば演習課題クリアです!
期待する出力値
処理が終了しました
期待する標準エラー出力値
0で割り算できません
※paizaに会員登録すると無料で動画学習コンテンツをご利用いただけます
会員登録する
#08:finallyをもっと理解しよう
ここではfinallyを使用した際の処理の順序について、さらに理解を深めます。
def test_exception(number):
print(2)
try:
print(3)
answer = 100 / number
return answer
print(4)
except ZeroDivisionError as e:
print(5)
raise e
finally:
print(6)
print(1)
try:
answer = test_exception(0)
print(7)
except ZeroDivisionError as e:
print(8)
print(e)
エラーと例外 — Python 3.6.5 ドキュメント
https://docs.python.jp/3/tutorial/errors.html
Pythonで例外を発生させる:raise | UX MILK
https://uxmilk.jp/39845
ログインすると採点できます
コードの実行