try, except, finally | 例外の基本 | Python本格超入門

現在作成中です。今後加筆修正してまいります。
スポンサーリンク
スポンサーリンク

try, except, finally

Pythonでは、コードがエラーを発生させた場合にそのエラーを処理する方法として、例外処理が重要な役割を果たします。例外処理を使うことで、プログラムがエラーで強制終了するのを防ぎ、適切なエラーメッセージを表示したり、プログラムの流れを制御することができます。この記事では、例外処理に用いられる try, except, finally 構文について解説します。

try ブロック

try ブロックは、エラーが発生するかもしれないコードを囲むために使います。このブロック内でエラーが発生すると、プログラムは即座に except ブロックに移行します。


try:
    # エラーが発生するかもしれないコード
    x = 10 / 0
except ZeroDivisionError:
    print("ゼロで割ることはできません。")

except ブロック

except ブロックは、特定の例外をキャッチして適切なエラーメッセージを表示したり、エラー処理を行います。上記の例では、ZeroDivisionError が発生した場合にこのブロックが実行されます。


try:
    x = 10 / 0
except ZeroDivisionError:
    print("ゼロ除算エラーが発生しました。")

finally ブロック

finally ブロックは、エラーの有無にかかわらず必ず実行されるコードを記述します。たとえば、ファイルを開いた後に必ず閉じるといった処理がここに含まれます。


try:
    f = open("example.txt", "r")
    # ファイルを読む処理
except FileNotFoundError:
    print("ファイルが見つかりません。")
finally:
    f.close()
    print("ファイルを閉じました。")

複数の except ブロック

1つの try ブロックに対して、複数の except ブロックを指定することができます。これにより、異なる種類のエラーに対して異なる処理を行うことができます。


try:
    x = int(input("整数を入力してください: "))
    y = 10 / x
except ZeroDivisionError:
    print("ゼロで割ることはできません。")
except ValueError:
    print("入力が整数ではありません。")
finally:
    print("処理が完了しました。")

注意点

  • 例外処理を使うと、エラーが発生してもプログラムが強制終了しなくなりますが、例外処理の乱用はプログラムの可読性を低下させます。エラーが予測される部分のみ適切に使うことが重要です。
  • finally ブロックは、例外が発生しても必ず実行されるため、リソースの解放や後処理が必要な場合に便利です。

まとめ

Pythonの例外処理における try, except, finally を活用することで、プログラムのエラーハンドリングが容易になります。特に、エラーが発生した場合でもプログラムを安全に実行し続けたい場合に有効です。具体的なエラーメッセージを表示することによって、デバッグも容易になります。

Amazonロゴ
   
ad.価格範囲を指定して商品を探せます。セールで助かる便利ツール
本格超入門
スポンサーリンク
このページをメモ、または、シェア