カテゴリ: Python 更新日: 2026/03/09

Pythonのfinally文の使い方を完全ガイド!例外発生時にも必ず実行される処理を初心者向けに解説

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

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

生徒

「Python(パイソン)でエラーが起きたときでも、必ず動く処理って書けるんですか?」

先生

「できます。Pythonの例外処理(レイガイショリ)で使うfinally文(ファイナリーぶん)を使うと、エラーが起きても必ず実行される処理を書けます。」

生徒

「エラーが出ても必ずですか?どんなときに使うんですか?」

先生

「ファイルを閉じる処理や、後片付けのような場面でよく使います。では、基礎から順番に見ていきましょう。」

1. Pythonの例外処理とは?

1. Pythonの例外処理とは?
1. Pythonの例外処理とは?

Python(パイソン)の例外処理(レイガイショリ)とは、プログラムの実行中に問題(エラー)が起きたときに、プログラムが突然止まらないようにする仕組みです。たとえば、割り算で0で割ろうとしたり、存在しないファイルを開こうとしたときにエラーが発生します。

パソコン初心者の方は、家電のブレーカーを想像してください。何か問題が起きても安全に処理するための保険のような役割が、例外処理です。

2. try文とexcept文の基本構造

2. try文とexcept文の基本構造
2. try文とexcept文の基本構造

Pythonの例外処理では、まずtry文(トライぶん)とexcept文(エクセプトぶん)を使います。tryにはエラーが起きそうな処理を書き、exceptにはエラーが起きたときの対応を書きます。


try:
    x = 10 / 0
    print(x)
except:
    print("エラーが発生しました")

エラーが発生しました

この例では、0で割る処理があるためエラーが発生し、exceptの中が実行されます。

3. finally文とは?必ず実行される処理

3. finally文とは?必ず実行される処理
3. finally文とは?必ず実行される処理

finally文(ファイナリーぶん)は、例外が発生しても、しなくても、必ず最後に実行される処理を書くための構文です。

現実の例でいうと、料理の後に必ず皿を洗うようなものです。料理が成功しても失敗しても、後片付けは必ず行いますよね。それと同じ役割をするのがfinally文です。

4. finally文の基本的な書き方

4. finally文の基本的な書き方
4. finally文の基本的な書き方

finally文は、tryexceptの最後に書きます。構造はとてもシンプルです。


try:
    print("処理を開始します")
    num = int("abc")
except:
    print("エラーが起きました")
finally:
    print("この処理は必ず実行されます")

処理を開始します
エラーが起きました
この処理は必ず実行されます

このように、文字を数値に変換できずエラーが発生しても、finallyの中は必ず実行されます。

5. エラーが起きない場合でもfinallyは動く

5. エラーが起きない場合でもfinallyは動く
5. エラーが起きない場合でもfinallyは動く

finally文は、エラーが起きない場合でも必ず実行されます。ここが初心者の方にとって重要なポイントです。


try:
    print("計算をします")
    result = 10 + 5
    print(result)
except:
    print("エラーが発生しました")
finally:
    print("処理を終了します")

計算をします
15
処理を終了します

正常に計算できた場合でも、最後にfinallyの処理が実行されていることが分かります。

6. ファイル操作とfinally文の相性

6. ファイル操作とfinally文の相性
6. ファイル操作とfinally文の相性

finally文は、ファイル操作と非常に相性が良いです。ファイルは使い終わったら必ず閉じる必要があります。


try:
    file = open("sample.txt", "w")
    file.write("Pythonのfinally文の練習")
except:
    print("ファイル操作でエラーが発生しました")
finally:
    file.close()
    print("ファイルを閉じました")

ファイルを閉じました

このように書くことで、途中でエラーが起きてもファイルを確実に閉じることができます。

7. finally文がない場合に起きやすい問題

7. finally文がない場合に起きやすい問題
7. finally文がない場合に起きやすい問題

finally文を使わないと、エラー発生時に後処理が実行されず、問題が残ることがあります。たとえば、ファイルが開きっぱなしになったり、メモリを無駄に使い続ける原因になります。

初心者のうちは気づきにくいですが、小さなミスが積み重なると、大きなトラブルにつながるため、finally文を使う習慣はとても大切です。

8. finally文を使うときの注意点

8. finally文を使うときの注意点
8. finally文を使うときの注意点

finally文の中では、できるだけシンプルな処理を書くようにしましょう。なぜなら、ここでさらにエラーが起きると、原因の特定が難しくなるからです。

「必ず実行したい処理だけを書く」という意識を持つことで、読みやすく安全なPythonプログラムが書けるようになります。

コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

関連記事:
カテゴリの一覧へ
新着記事
New1
Python
Pythonの定数を定義する方法!慣習とモジュールを活用した書き方
New2
Python
Pythonのカプセル化とは?private変数とプロパティの活用方法をやさしく解説
New3
Python
Pythonの継承とは?親クラス・子クラスの関係とメソッドオーバーライドをやさしく解説
New4
Python
Pythonのインスタンス変数とクラス変数の違い!selfの使い方を初心者向けに解説
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonのfinally文を徹底解説!例外発生時でも実行される処理の書き方と使い方
No.2
Java&Spring記事人気No2
PHP
PHP の MySQL にデータを挿入する方法(INSERT 文の実行)を完全解説!初心者向けガイド
No.3
Java&Spring記事人気No3
Python
Pythonで辞書のネスト構造(入れ子辞書)を扱う方法 初心者向け完全ガイド
No.4
Java&Spring記事人気No4
PHP
PHPの配列をソートする方法!sort, rsort, asort, ksortの使い方を丁寧に解説します!
No.5
Java&Spring記事人気No5
PHP
PHPの可変長引数(...$args)の使い方を完全ガイド!初心者でもわかる基本と活用方法
No.6
Java&Spring記事人気No6
Python
Pythonでエラーメッセージを取得する方法を完全解説!初心者でもわかるExceptionオブジェクト
No.7
Java&Spring記事人気No7
PHP
PHP の MySQL 接続の基本(mysqli, PDO)を完全解説!初心者向けガイド
No.8
Java&Spring記事人気No8
Python
Pythonで経過時間を測る方法をやさしく解説!初心者向けtime.perf_counterとtime.sleepの使い方