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` という参照が自動で削除され、長期保持による問題を防いでいます。