プログラミングの用語一覧へ
このページの目次

try-exceptとは?

読み方:try-except

最終更新:2026/08/18

3秒でわかる

例外が起きたときの代わりの処理を書き、プログラムを止めずに続ける構文。想定外の入力や通信の失敗を、落ちずに扱うために使います。

もう少し詳しく

どういうものか

try-except は Python の例外処理の構文です。try のブロックで例外が起きると、その時点で残りの行を飛ばし、対応する except のブロックに移ります。例外が起きなければ except は素通りされます。else を付ければ例外が起きなかったときだけ動く処理を、finally を付ければ例外の有無にかかわらず必ず動く後始末を書けます。

Java や JavaScript では同じ役割を try-catch と書きます。名前は違いますが、危険な処理を囲み、失敗したときの道を別に用意するという考え方は共通です。

なぜ必要か

ファイルが無い、数字のはずの文字列が数字でない、通信先が応答しない。こうした失敗は、書き方をどれだけ丁寧にしても消せません。何もしなければプログラムはその場で終了し、途中まで進めた作業も失われます。例外処理は、失敗したときに何をするかを先に決めておく仕組みです。

具体例

try: with open("data.csv", encoding="utf-8") as f: rows = f.read().splitlines() except FileNotFoundError: rows = [] print("ファイルが無いので空で続行") except UnicodeDecodeError as e: raise RuntimeError("<a href="/glossary/character-encoding" class="text-primary font-medium underline underline-offset-2 hover:text-primary-dark">文字コード</a>が想定と違います") from e else: print(f"{len(rows)} 行を読み込みました") finally: print("読み込み処理を抜けます")

つまずきやすいところ

いちばん多い誤りは、except の後ろに何も書かず、すべての例外をまとめて握り潰す書き方です。打ち間違えた変数名も、想定外のバグも、同じ場所で静かに消えてしまい、原因の分からない不具合になります。捕まえる例外は FileNotFoundError のように具体的に指定し、扱えないものは上に投げるのが原則です。

try で囲む範囲を広げすぎるのも読みにくさの原因になります。50 行まるごと囲むと、どの行が失敗したのか分からなくなります。失敗しうる行だけを囲んでください。

例外を握り潰した後に何もしないと、後続の行が壊れた値のまま進みます。上の例のように、代わりの値を必ず用意しておく必要があります。

覚え方

try が「やってみる」、except が「駄目だったときの道」、finally が「どちらでも通る出口」です。この 3 つを日本語に置き換えて読むと、どの節に何を書くべきかが判断しやすくなります。else は使う機会が少ないものの、成功したときだけの処理を分離できます。

知識のつながり

サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。

現在地try-exceptプログラミング

LEARN BY DOING

この用語を、教材で使ってみる

直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。

この用語を扱うコース

コース

Python入門:基礎文法編

74レッスン
コース

Python道場 商店街ポイントカードの10問

10レッスン
コース

Java 中級:コレクション・Stream・例外処理

64レッスン
Pythonコースの全編を見る