4.1 標準例外

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

C名  Python名  注記 
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が定義されているかテストすることで、 これを使うコードを保護してください。

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