カテゴリ: 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
PHP
PHP の型変換を完全ガイド!初心者でもわかる明示的変換・自動変換
New2
PHP
PHPの真偽値と条件判定をやさしく解説!初心者でもわかるempty・isset・is_nullの使い方
New3
PHP
PHP の file_get_contents() を使ってファイルを読み込む方法!初心者でもできる簡単なファイル操作
New4
PHP
PHPの条件分岐(if, elseif, else)の基本を完全ガイド!初心者でもわかる使い方
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonのfinally文を徹底解説!例外発生時でも実行される処理の書き方と使い方
No.2
Java&Spring記事人気No2
Python
Pythonのクラスメソッドと静的メソッドの違いとは?初心者でも迷わない使い分けガイド
No.3
Java&Spring記事人気No3
Python
Pythonで辞書のネスト構造(入れ子辞書)を扱う方法 初心者向け完全ガイド
No.4
Java&Spring記事人気No4
Python
Pythonのコンストラクタ(__init__)の使い方!初心者でもわかるオブジェクトの初期化
No.5
Java&Spring記事人気No5
Python
Pythonで文字列が数値か判定する方法!isdigit()・isnumeric()の違い
No.6
Java&Spring記事人気No6
PHP
初心者向けPHP の MySQL のデータを更新する方法(UPDATE 文)完全ガイド
No.7
Java&Spring記事人気No7
PHP
PHPの可変長引数(...$args)の使い方を完全ガイド!初心者でもわかる基本と活用方法
No.8
Java&Spring記事人気No8
PHP
PHP の MySQL 接続の基本(mysqli, PDO)を完全解説!初心者向けガイド