【Python】例外処理とループ処理を組み合わせた基本的な書き方

例外処理を使うことで、プログラムの安定性を高めることができます。

この記事では、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における例外処理の基本的な書き方です。

1 2
この記事のページ一覧
  1. 現在のページ
目次から探す