Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonのtry・except・finally文を解説!例外処理の基本と使い方

Pythonにおける例外処理では、try文とexcept文を使って、発生した例外(エラー)を捕捉し、適切に処理することができます。try節の中のコードは、上から順に1文ずつ実行されます。

もし実行中に例外が発生すると、その時点でtryブロック内の残りの処理はスキップされ、代わりにexcept節が実行されます。

基本的な例

try:
'apple' + 6
except Exception:
print("Cannot concatenate 'str' and 'int' objects")

出力結果

Cannot concatenate 'str' and 'int' objects

このように、tryexcept文を使って例外処理を行うことで、トレースバック(traceback)と呼ばれる長いエラーメッセージが表示されるのを防ぎ、シンプルで分かりやすいメッセージだけでプログラムを優雅に処理することができます。

finally文とは

tryブロックの後ろには、exceptブロックに加えてfinallyブロックを使用することもできます。finally節は省略可能ですが、「どのような状況でも必ず実行したい後処理(クリーンアップ処理)」を定義するために用意されています。

finally節は、例外が発生したかどうかにかかわらず、try文を抜ける前に必ず実行されるという特徴があります。

例えば、ファイルを閉じる、GUIを終了する、ネットワーク接続を切断するといった処理は、確実に実行されることを保証するためにfinally節に記述します。

ファイル操作でのfinally文の使用例

以下は、ファイル操作を通じてfinally文の動作を示す例です。

try:
f = open("foo.txt", encoding='utf-8')
# ファイルに対する操作を行う
finally:
f.close()

このような書き方をすることで、例外が発生してもしなくても、必ずファイルが閉じられることが保証されます。リソースの解放漏れによる不具合を防ぐためにも、後処理が必要な場面ではfinally文を積極的に活用しましょう。

  1. Pythonのtry except文とは?基本構文からfinally・else句まで徹底解説

    Pythonのtry…except文は、例外(エラー)を捕捉(キャッチ)するための構文です。「try」ブロック内に書かれたコードにエラーがないかをテストし、エラーが検出された場合には「except」ブロックの中身が実行されます。 Pythonでtryとexceptを使う方法 プログラム全体を実行する前に、特定のコードブロックが正しく動作するかどうかを確認したい場面はよくあります。例えば、大量の新しいコードを書いた場合、残りのプログラムを実行する前に、その部分が問題なく動くことを確認したいはずです。 try…exceptブロックを使えば、コードをテストし、例外が発生した場合に適切に処理できます。

  2. JavaScriptのtry文とcatch文の使い方をサンプルコードで解説

    try文とcatch文とはtry文を使うと、コードブロックを実行しながらエラーの有無をテストできます。実行中にエラーが発生した場合、そのエラーはcatch文によって捕捉(キャッチ)され、プログラムが強制終了することなく適切に処理を行うことができます。この仕組みは「例外処理」と呼ばれ、予期しないエラーが発生してもユーザーに分かりやすいメッセージを表示したり、代替処理に切り替えたりする際に非常に役立ちます。JavaScriptにおけるtry文とcatch文のサンプルコード以下は、宣言前に変数へアクセスした際に発生するエラーを、try〜catch文で捕捉して画面に表示する例です。コード例<!D