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

Pythonで複数の例外をまとめてキャッチする方法を完全解説!初心者でもわかる例外処理入門

Pythonで複数の例外をまとめてキャッチする方法(except (例外A, 例外B))
Pythonで複数の例外をまとめてキャッチする方法(except (例外A, 例外B))

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

生徒

「Pythonでエラーが起きたとき、種類ごとに書くのが大変そうです…」

先生

「確かに、例外が増えるとコードが長くなりがちですね。」

生徒

「似たようなエラーは、まとめて処理できないんですか?」

先生

「できますよ。Pythonでは複数の例外をまとめてキャッチできます。」

1. Pythonの例外処理をおさらい

1. Pythonの例外処理をおさらい
1. Pythonの例外処理をおさらい

Pythonの例外処理とは、プログラム実行中に起きた問題を安全に処理する仕組みです。例外とは、予期しない入力や操作によって発生するエラーのことを指します。

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

2. 例外が増えると起きやすい問題

2. 例外が増えると起きやすい問題
2. 例外が増えると起きやすい問題

プログラムが少しずつ大きくなると、起こりうるエラーの種類も増えていきます。そのたびにexceptを何個も書くと、見た目がごちゃごちゃしてしまいます。

これは、同じ内容の注意書きを何枚も貼るようなもので、管理が大変になります。


try:
    value = int("abc")
except ValueError:
    print("数値変換エラーです")
except TypeError:
    print("型が正しくありません")

3. 複数の例外をまとめてキャッチする書き方

3. 複数の例外をまとめてキャッチする書き方
3. 複数の例外をまとめてキャッチする書き方

Pythonでは、exceptの後ろに丸かっこを使って、複数の例外をまとめて指定できます。これにより、同じ対応をするエラーを一か所に集約できます。

「どちらのエラーでも同じ対応でよい」という場面で、とても便利です。


try:
    value = int("abc")
except (ValueError, TypeError):
    print("入力内容に問題があります")

4. まとめてキャッチする仕組みを例えで理解する

4. まとめてキャッチする仕組みを例えで理解する
4. まとめてキャッチする仕組みを例えで理解する

複数例外のキャッチは、「雨の日も雪の日も傘をさす」と決めているようなものです。細かい違いはあっても、対処方法が同じなら一括で対応できます。

初心者のうちは、エラーごとの差を細かく分けすぎないことも大切です。

5. 実行結果を見てみよう

5. 実行結果を見てみよう
5. 実行結果を見てみよう

先ほどのコードを実行すると、ValueErrorが発生しますが、まとめてキャッチしているため、決めたメッセージが表示されます。


入力内容に問題があります

6. 別のパターンのサンプルコード

6. 別のパターンのサンプルコード
6. 別のパターンのサンプルコード

ファイル名や数値の扱いなど、複数のエラーが起きやすい処理でも、同じ考え方が使えます。


try:
    result = 10 / int("zero")
except (ValueError, ZeroDivisionError):
    print("計算できませんでした")

7. 例外をまとめるときの注意点

7. 例外をまとめるときの注意点
7. 例外をまとめるときの注意点

すべての例外を無理にまとめると、原因が分かりにくくなることがあります。本当に同じ対応で良い例外だけを一緒にするのがポイントです。

まずはシンプルにまとめ、必要になったら分ける考え方がおすすめです。

8. 初心者が身につけたい例外処理の考え方

8. 初心者が身につけたい例外処理の考え方
8. 初心者が身につけたい例外処理の考え方

例外処理は、プログラムを止めないための安全装置です。複数の例外をまとめてキャッチする方法を覚えることで、読みやすく、直しやすいコードになります。

エラーを怖がらず、「どう対応するか」を考えることが、Python学習の大切な一歩です。

カテゴリの一覧へ
新着記事
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ルーティング入門