例外処理とは
例外処理は、プログラムの実行中に予期しないエラーが発生する可能性がある場合に備えてコードを記述することです。
これにより、プログラムが突然異常終了することなく正常に実行されるようにします。
例外処理の目的は次のとおりです:
- プログラムの実行中に突然のエラーによる異常動作を防ぎます。
- 発生したエラーを処理し、回復または回避することで、プログラムの正常な実行を維持します。
Pythonでは、例えば、0で割るとZeroDivisionErrorが発生します。
# 例
try:
result = 10 / 0
except ZeroDivisionError:
print("0で割ることはできません。")
上記のコードでは、0で割ろうとした際に発生するZeroDivisionErrorを処理しています。
複数の例外を処理するために、exceptをネストして使用することもできます。
# 例
try:
some_list = [1, 2, 3]
index = 4
value = some_list[index]
except IndexError:
print("インデックスが範囲外です。")
except Exception as e:
print(f"エラー発生: {e}")
上記のコードでは、IndexErrorとその他すべての例外を処理する方法を示しています。
asを使用して例外オブジェクトを取得することもできます。
else
else節は一般的にtry-exceptブロックの後に配置され、
例外が発生しなかった場合に実行されます。
# 例
try:
result = 10 / 2
except ZeroDivisionError:
print("0で割ることはできません。")
else:
print("結果:", result)
上記のコードでは、0で割るエラーが発生しない場合にのみ結果を出力します。
finally
finally節は例外の発生有無に関係なく必ず実行されるブロックです。
主にリソースの後始末やクリーンアップに使用されます。
# 例
try:
f = open('somefile.txt', 'r')
# ファイル読み込み処理を行う
finally:
f.close()
上記のコードでは、ファイルを開いて読み込み操作を試み、例外の発生有無に関係なくファイルを閉じる操作を保証します。
追加の終わりの説明
例外処理はプログラムの安定性を高め、予測可能な動作を維持するための重要な技術です。適切な例外処理を理解し、適切な場所で活用することが推奨されます。