例外処理を使うことで、プログラムの安定性を高めることができます。
この記事では、Pythonにおける例外処理の基本的な書き方と、ループ処理との組み合わせ方について解説します。
また、ループ処理中に例外が発生した場合の対処方法も紹介します。
例外処理の基本的な書き方
プログラミングにおいて、予期せぬエラーが発生することはよくあります。
そのようなエラーに対処するために、Pythonでは例外処理という仕組みが提供されています。
例外処理を使うことで、エラーが発生した場合にプログラムがクラッシュするのを防ぐことができます。
try-except文の構文
例外処理を行うためには、try-except文
を使用します。
try
ブロック内には、エラーが発生する可能性のあるコードを記述します。
そして、except
ブロック内には、エラーが発生した場合に実行する処理を記述します。
try:
# エラーが発生する可能性のあるコード
except エラーの種類 as エラー変数:
# エラーが発生した場合に実行する処理
例えば、以下のようなコードがあったとします。
num1 = 10
num2 = 0
result = num1 / num2
print(result)
このコードでは、num2
が0で割られているため、ZeroDivisionError
というエラーが発生します。
このエラーをキャッチして処理するために、try-except文
を使います。
try:
num1 = 10
num2 = 0
result = num1 / num2
print(result)
except ZeroDivisionError as e:
print("0で割ることはできません。")
このようにすることで、エラーが発生してもプログラムがクラッシュすることなく、エラーメッセージを表示することができます。
except節の使い方
except
節では、特定のエラーの種類を指定して処理を行うこともできます。
例えば、ValueError
というエラーが発生した場合には別の処理を行いたい場合、以下のように書きます。
try:
# エラーが発生する可能性のあるコード
except ValueError as e:
# ValueErrorが発生した場合に実行する処理
else節の使い方
else
節は、try
ブロック内のコードがエラーなく実行された場合に実行される処理を記述するために使用します。
例えば、以下のようなコードがあったとします。
try:
num1 = int(input("整数を入力してください: "))
num2 = int(input("もう一つの整数を入力してください: "))
result = num1 / num2
except ZeroDivisionError as e:
print("0で割ることはできません。")
else:
print("結果は", result, "です。")
このコードでは、ユーザーに2つの整数を入力してもらい、それらを割った結果を表示します。
もしユーザーが0を入力した場合には、ZeroDivisionError
が発生し、except
節が実行されます。
それ以外の場合には、else
節が実行され、結果が表示されます。
整数を入力してください: 10
もう一つの整数を入力してください: 2
結果は 5.0 です。
整数を入力してください: 10
もう一つの整数を入力してください: 0
0で割ることはできません。
finally節の使い方
finally
節は、try
ブロック内のコードの実行後に必ず実行される処理を記述するために使用します。
例えば、ファイルを開いて処理を行った後には、必ずファイルを閉じる必要があります。
そのような場合には、finally
節を使ってファイルを閉じる処理を行います。
try:
# ファイルを開く処理など
except:
# エラー処理
finally:
# ファイルを閉じる処理など
finally
節は、エラーが発生しても発生しなくても必ず実行されるため、リソースの解放などの処理に適しています。
以上が、Pythonにおける例外処理の基本的な書き方です。