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

Pythonで例外の種類ごとに処理を分ける方法を完全解説!初心者でもわかる複数except入門

Pythonで例外の種類ごとに処理を分ける方法(複数のexcept節)
Pythonで例外の種類ごとに処理を分ける方法(複数のexcept節)

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

生徒

「Pythonのエラーって、同じじゃなくて種類があるんですよね?」

先生

「そうですね。Pythonではエラーの内容ごとに、例外の種類が決まっています。」

生徒

「種類ごとに、違うメッセージを出したりできますか?」

先生

「できます。複数のexceptを使うと、例外の種類ごとに処理を分けられます。」

1. Pythonの例外処理とは何か

1. Pythonの例外処理とは何か
1. Pythonの例外処理とは何か

Pythonの例外処理とは、プログラムの実行中に起きた問題を検知し、止まらずに対応するための仕組みです。例外とは、想定外の操作や入力によって発生するエラーのことです。

たとえば、数字として扱えない文字を数値に変換しようとした場合、Pythonは処理を続けられず、例外を発生させます。

2. tryとexceptの基本的な役割

2. tryとexceptの基本的な役割
2. tryとexceptの基本的な役割

例外処理では、まずtryの中に「エラーが起きるかもしれない処理」を書きます。そして、エラーが起きた場合に実行したい処理をexceptに書きます。

これは「失敗するかもしれない作業を見守り、失敗したら対応する」イメージです。


try:
    number = int("abc")
except ValueError:
    print("数値に変換できませんでした")

3. 例外には種類がある

3. 例外には種類がある
3. 例外には種類がある

Pythonの例外には多くの種類があります。たとえば、数値変換の失敗はValueError、0で割った場合はZeroDivisionErrorなどです。

これは、転んだ理由が「つまずいた」「滑った」など違うのと同じで、原因ごとに名前が付いています。

4. 複数のexceptで処理を分ける書き方

4. 複数のexceptで処理を分ける書き方
4. 複数のexceptで処理を分ける書き方

Pythonでは、exceptを複数書くことで、例外の種類ごとに処理を分けることができます。発生した例外に合ったexceptだけが実行されます。

これにより、エラー内容に応じた分かりやすい対応ができます。


try:
    result = 10 / int("zero")
except ValueError:
    print("数字を入力してください")
except ZeroDivisionError:
    print("0で割ることはできません")

5. 複数exceptの動き方を理解しよう

5. 複数exceptの動き方を理解しよう
5. 複数exceptの動き方を理解しよう

複数のexceptがある場合、Pythonは上から順番に確認し、最初に一致した例外処理を実行します。それ以外のexceptは実行されません。

これは、受付で条件に合った窓口に案内されるような仕組みです。


数字を入力してください

6. 別のパターンで見る複数except

6. 別のパターンで見る複数except
6. 別のパターンで見る複数except

ファイル名の入力や文字列の操作などでも、複数の例外が起きることがあります。それぞれに合ったメッセージを用意すると、利用する人にやさしいプログラムになります。


try:
    text = None
    print(text.upper())
except AttributeError:
    print("文字列が設定されていません")
except TypeError:
    print("正しくない型です")

7. 例外を分けるメリットと考え方

7. 例外を分けるメリットと考え方
7. 例外を分けるメリットと考え方

例外を種類ごとに分けることで、何が原因で問題が起きたのかが分かりやすくなります。これは、トラブルの原因を正確に伝えるために重要です。

初心者のうちは、よく起きる例外だけを分けて書く意識を持つと、理解が深まります。

8. 初心者が意識したい例外処理の基本

8. 初心者が意識したい例外処理の基本
8. 初心者が意識したい例外処理の基本

例外処理は、プログラムを安全に動かすための保険のような存在です。複数のexceptを使うことで、より丁寧な対応ができるようになります。

エラーを恐れず、どんな場合にどう動かしたいかを考えることが、Python学習の大切なポイントです。

カテゴリの一覧へ
新着記事
New1
Django
Djangoバリデーション完全入門|cleanメソッドで学ぶカスタムチェックの書き方【初心者向け】
New2
Flask
FlaskとAWS S3を連携!静的ファイルを効率よく配信する初心者向け完全ガイド
New3
Python
Pythonで例外の種類ごとに処理を分ける方法を完全解説!初心者でもわかる複数except入門
New4
Python
Pythonでリストの要素を検索・取得する方法!index()やin演算子の活用法
人気記事
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
Flask
Flask-Loginでユーザー認証を完全ガイド!初心者でもわかるログイン処理の作り方
No.5
Java&Spring記事人気No5
Python
Pythonで空白や不要な文字を削除する方法!strip(), rstrip(), lstrip() の使い方を初心者向けに解説
No.6
Java&Spring記事人気No6
Python
Pythonのコーディング規約(PEP8)とは?初心者でもわかる書き方の基本ルール
No.7
Java&Spring記事人気No7
Flask
Flaskでデータベースエラーを処理する方法!初心者にもわかる例外の使い方
No.8
Java&Spring記事人気No8
Flask
Flaskでフロントエンドからファイルアップロードを行う基本手順【初心者向け】