4.1 標準例外

"PyExc_"の後ろにPythonの例外名が続く名前をもつグローバル変数として、 すべての標準Python例外が利用可能です。これらは型PyObject*を 持ち、すべてクラスオブジェクトです。完璧を期するために、すべての変数を 以下に列挙します:

C名 Python名 注記
PyExc_BaseException BaseException (1), (4)
PyExc_Exception Exception (1)
PyExc_StandardError StandardError (1)
PyExc_ArithmeticError ArithmeticError (1)
PyExc_LookupError LookupError (1)
PyExc_AssertionError AssertionError
PyExc_AttributeError AttributeError
PyExc_EOFError EOFError
PyExc_EnvironmentError EnvironmentError (1)
PyExc_FloatingPointError FloatingPointError
PyExc_IOError IOError
PyExc_ImportError ImportError
PyExc_IndexError IndexError
PyExc_KeyError KeyError
PyExc_KeyboardInterrupt KeyboardInterrupt
PyExc_MemoryError MemoryError
PyExc_NameError NameError
PyExc_NotImplementedError NotImplementedError
PyExc_OSError OSError
PyExc_OverflowError OverflowError
PyExc_ReferenceError ReferenceError (2)
PyExc_RuntimeError RuntimeError
PyExc_SyntaxError SyntaxError
PyExc_SystemError SystemError
PyExc_SystemExit SystemExit
PyExc_TypeError TypeError
PyExc_ValueError ValueError
PyExc_WindowsError WindowsError (3)
PyExc_ZeroDivisionError ZeroDivisionError

注記:

(1)
これは別の標準例外のためのベースクラスです。

(2)
これはweakref.ReferenceErrorと同じです。

(3)
Windowsでのみ定義されています。 プリプロセッサマクロMS_WINDOWSが定義されているかテストすることで、 これを使うコードを保護してください。

(4)
バージョン 2.5 で 新たに追加 された仕様です。

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。