Python 組み込み例外およびエラー タイプのチートシート

一般的な Python エラー タイプのリファレンス ガイド。 ValueError、TypeError、IndexError、KeyError をデバッグし、例外を発生させる方法を学びます。

一般的なロジックと値の例外

不一致の操作、インデックスの欠落、または変数の失敗を表す例外。

メソッド・機能構文説明
ValueErrorint("abc")関数が型は正しいが値が不適切な引数を受け取った場合に発生します。
TypeError"1" + 2操作または関数が不適切な型のオブジェクトに適用された場合に発生します。
IndexErrormy_list[10]シーケンスの添字が範囲外の場合に発生します。
KeyErrormy_dict["missing"]辞書キーが見つからない場合に発生します。
AttributeErrormy_str.append("x")属性の参照または割り当てが失敗した場合に発生します (文字列のリスト メソッドの呼び出しなど)。

ランタイムとリソースの例外

外部ファイル システム、計算クラッシュ、または実行構文エラーを表す問題。

メソッド・機能構文説明
FileNotFoundErroropen("missing.txt")ファイルまたはディレクトリが要求されたが存在しない場合に発生します。
ZeroDivisionError1 / 0除算またはモジュロ演算の 2 番目の引数が 0 の場合に発生します。
SyntaxErrorwhile True print("hi")パーサーが構文エラーを検出したときに発生します。
NameErrorprint(undefined_variable)ローカル名またはグローバル名が見つからない場合に発生します。
StopIterationnext(exhausted_iterator)組み込みの next() によって呼び出され、反復子にそれ以上の項目がないことを通知します。

インタラクティブなデモスクリプト

run_all_cheat_methods.py
エディターで実行
# ValueError
int("abc")

# TypeError
"1" + 2

# IndexError
my_list[10]

# KeyError
my_dict["missing"]

# AttributeError
my_str.append("x")

# FileNotFoundError
open("missing.txt")

# ZeroDivisionError
1 / 0

# SyntaxError
while True print("hi")

# NameError
print(undefined_variable)

# StopIteration
next(exhausted_iterator)

よくある質問

Python で複数の例外をキャッチするにはどうすればよいですか?

これらは、単一の例外ブロック内のタプルとして指定できます。たとえば、e: として例外 (ValueError, TypeError) を指定できます。

どのような場合に手動で例外を発生させるべきでしょうか?

検証の失敗など、通常の実行を妨げる予期しない条件がコード内で発生した場合は、raise キーワードを使用して例外を発生させます。

関連トピック

推奨される Python リソース

関連するインタラクティブなチュートリアル、チートシート、コード比較で知識を深めてください。