カテゴリ: Python 更新日: 2026/02/07

Pythonのfinally文の使い方を完全解説!例外が発生しても必ず実行される処理とは

Pythonのfinally文の使い方!例外発生時にも実行する処理
Pythonのfinally文の使い方!例外発生時にも実行する処理

先生と生徒の会話形式で理解しよう

生徒

「Pythonでエラーが出たときでも、必ず動いてほしい処理って書けますか?」

先生

「書けますよ。Pythonにはfinally文という仕組みがあります。」

生徒

「エラーが出ても実行されるんですか?」

先生

「そうです。失敗しても成功しても、最後に必ず実行されるのがfinally文です。」

1. Pythonのfinally文とは?

1. Pythonのfinally文とは?
1. Pythonのfinally文とは?

Pythonのfinally文とは、例外処理の中で必ず最後に実行される処理を書くための仕組みです。プログラムが正常に動いた場合でも、エラーが発生した場合でも、関係なく実行されます。

初心者の方には少し難しく感じるかもしれませんが、finallyは「最後のお片付け係」のような存在だと考えると分かりやすいです。

2. try-except-finallyの基本構造

2. try-except-finallyの基本構造
2. try-except-finallyの基本構造

finally文は、tryexceptと一緒に使います。まずは全体の形を見てみましょう。


try:
    print("処理を開始します")
    result = 10 / 0
except:
    print("エラーが発生しました")
finally:
    print("必ず実行される処理です")

処理を開始します
エラーが発生しました
必ず実行される処理です

この例では、エラーが起きていますが、最後にfinallyの中の処理が実行されています。

3. finallyは「後片付け」

3. finallyは「後片付け」
3. finallyは「後片付け」

finally文は、日常生活でいうと後片付けのようなものです。料理がうまくいっても失敗しても、最後にはキッチンを片付けますよね。

Pythonでも同じで、処理の結果に関係なく「最後に必ずやること」をfinallyに書きます。これにより、プログラムの動きが安定します。

4. エラーが起きなくても実行される

4. エラーが起きなくても実行される
4. エラーが起きなくても実行される

finally文は、エラーが起きなかった場合でも実行されます。次の例を見てみましょう。


try:
    result = 10 / 2
    print("計算結果:", result)
except:
    print("エラーが起きました")
finally:
    print("処理を終了します")

計算結果: 5.0
処理を終了します

このように、成功しても失敗してもfinallyは必ず実行されます。

5. finallyが役立つ場面

5. finallyが役立つ場面
5. finallyが役立つ場面

finally文は、「途中で止まると困る処理」に向いています。たとえば、画面に「処理終了」と表示したり、使い終わったものを元に戻したりするときです。

初心者の方は、「必ず実行したい表示や後始末」をfinallyに書く、と覚えておくと使いやすくなります。

6. exceptがなくてもfinallyは使える

6. exceptがなくてもfinallyは使える
6. exceptがなくてもfinallyは使える

Pythonでは、exceptを書かずにfinallyだけを使うこともできます。この場合、エラーが起きてもfinallyは実行され、そのあとプログラムは停止します。


try:
    print("処理中です")
    value = 5 / 0
finally:
    print("必ず実行されます")

処理中です
必ず実行されます

この書き方は、「何があっても最後にやりたい処理」があるときに使われます。

7. finallyを使うと安心できる理由

7. finallyを使うと安心できる理由
7. finallyを使うと安心できる理由

finally文があることで、「途中でエラーが出たらどうしよう」という不安が減ります。プログラムがどんな状態でも、最後に決まった処理が実行されるからです。

Pythonの例外処理の中でも、finallyは安心感を高める仕組みだと言えます。

8. 初心者が覚えておきたいfinallyの考え方

8. 初心者が覚えておきたいfinallyの考え方
8. 初心者が覚えておきたいfinallyの考え方

初心者の方は、finallyを「必ず実行される場所」とだけ覚えておけば十分です。難しい使い方を考える必要はありません。

Pythonのfinally文は、エラーが起きてもプログラムを落ち着いて終わらせるための大切な仕組みです。基本を理解することで、より安全なコードが書けるようになります。

カテゴリの一覧へ
新着記事
New1
Python
Pythonで複数の例外をまとめてキャッチする方法を完全解説!初心者でもわかる例外処理入門
New2
Python
Pythonでリストをコピーする方法!copy()・スライス・list()の使い方を比較
New3
Django
Djangoバリデーションの種類まとめ|フォーム・モデル・フィールドレベルの違いを初心者向けに徹底解説
New4
Flask
FlaskアプリをGCP Cloud Functionsで動かす!初心者向けサーバーレス公開ガイド
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonとは何か?初心者向けにできること・特徴・インストール手順までやさしく解説
No.2
Java&Spring記事人気No2
Python
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
No.3
Java&Spring記事人気No3
Flask
Flaskでデータベースを使う基本!SQLAlchemyの導入方法をやさしく解説
No.4
Java&Spring記事人気No4
Python
Pythonで空白や不要な文字を削除する方法!strip(), rstrip(), lstrip() の使い方を初心者向けに解説
No.5
Java&Spring記事人気No5
Python
Pythonのコーディング規約(PEP8)とは?初心者でもわかる書き方の基本ルール
No.6
Java&Spring記事人気No6
Flask
Flaskでフロントエンドからファイルアップロードを行う基本手順【初心者向け】
No.7
Java&Spring記事人気No7
Flask
Flaskでデータベースエラーを処理する方法!初心者にもわかる例外の使い方
No.8
Java&Spring記事人気No8
Django
DjangoのincludeでURLを分割管理する方法を完全ガイド!初心者でも迷わないURLルーティング入門