Pythonの例外処理にはtry
、except
、そしてfinally
節があります。これらはエラーの有無に関わらず、必ず最後に実行されるコードブロックを提供します。
finally節とは
finally
節は、Pythonの例外処理で用いられる機能の一つです。try
、except
節と共に使われ、エラーの有無に関わらず必ず最後に実行されるコードブロックです。
finally節の使い方
具体的には後続の処理に影響がある変数値の設定、処理が完了したことを示すログの表示など、例外の発生有無に関わらず必要な処理が考えられます。
mylist = [1, 2, 0, 4, 5]
for i in mylist:
rev = 0
try:
rev = 1 / i
except ZeroDivisionError as e:
print('ゼロ除算エラー', e)
else:
print(i , 'の逆数は', rev)
finally:
print('--')
このコードでは、リストmylist
の各要素に対して逆数を計算し、その結果を表示します。0に対する逆数は定義できないため、ZeroDivisionError
が発生します。この例外はexcept
節で捕捉され、エラーメッセージが表示されます。そして、finally
節のprint('--')
は、各ループの最後に必ず実行されます。
まとめ
Pythonのfinally
節は、例外処理の一部として非常に重要な役割を果たします。例外が発生した場合でも、必要なクリーンアップ処理を確実に行うことができます。この機能を理解し、適切に使用することで、より堅牢なコードを書くことができます。