except 例外処理節

最終更新:2026-09-22

except 例外処理節

except は try の直後に置き、一致する例外型(タプルで指定可能)を処理する;as で例外オブジェクトを束縛できる。

カテゴリキーワード/文
種類キーワード/文
Python バージョンall

📝 構文

try:
    block
except ExceptionType [as name]:
    handler

▶ 例

下のコードを編集し「実行」をクリックすると、出力パネルに結果が表示されます:

実行結果:

div by zero
さらに多くのケースは近日公開予定です。

❓ よくある質問

Q1つの `except` で複数の例外を捕捉できますか?
Aできます。タプル形式で書きます:`except (ValueError, TypeError) as e`。なお、子クラスの例外は親クラスより先に書いてください。そうしないと親の分岐が先に捕まえてしまいます。
Q例外を捕捉したのにプログラムがまだクラッシュするのはなぜ?
Aたいてい例外型が一致していないためです。たとえば実際は `TypeError` なのに `except ValueError` と書いた場合。また `except Exception` は `BaseException` から派生する `KeyboardInterrupt` と `SystemExit` は捕まえられません。
Q`except` の後ろの as e の e は何ですか?
A`e` は例外オブジェクトで、`str(e)` でエラーメッセージを取得できます。Python 3 では `except` ブロックの終了時に `e` という参照が自動で削除され、長期保持による問題を防いでいます。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%