Exceptionsモジュール

3122 ワード

2012.3.16 exceptionsモジュールは、標準異常の階層を提供する.Pythonが起動すると自動的にこのモジュールが導入され、_ _builtin_ _モジュールに組み込まれる.つまり、このモジュールを手動で導入する必要はないのが一般的である.
1.5.2バージョンでは通常のモジュールであり、2.0以降は内蔵モジュールとなる.
このモジュールは、次の標準例外を定義します.
  • Exceptionはすべての異常のベースクラスである.カスタムの例外もこのクラスを継承することを強くお勧めします(必須ではありません).
  • SystemExit(Exception)はsys.exit関数によって開始する.最上位レベルでtry-except文によって取得されていない場合、解釈器は追跡戻り情報を表示することなく直接閉じる.
  • StandardError(Exception)は、すべての内蔵異常のベースクラス(SystemExitを除く)である.
  • KeyboardInterrupt(StandardError)は、ユーザがControl-C(または他の割り込みボタン)を押すことにより開始する.「すべてキャプチャ」のtry-except文を使用すると、奇妙な問題を引き起こす可能性があります.
  • ImportError(StandardError)は、Python導入モジュールの失敗時に開始する.
  • EnvironmentErrorは、全ての解釈器環境において異常を起こすベースクラスである.(すなわち、これらの異常はプログラムバグによるものではないのが一般的である).
  • IOError(EnvironmentError)は、I/O関連エラーをマークするために用いる.
  • OSError(EnvironmentError)は、osモジュールによるエラーをマークするために用いる.
  • WindowsError(OSError)は、osモジュールのWindows関連エラーをマークするために使用する.
  • NameError(StandardError)は、Pythonがグローバルまたはローカル名の検索に失敗したときに開始する.
  • UnboundLocalError(NameError)は、ローカル変数が割り当てられていないまま使用すると、この異常を引き起こす.この異常は2.0以降のバージョンのみあります.以前のバージョンでは普通のNameErrorしか発生しませんでした.
  • AttributeError(StandardError)は、Pythonがインスタンス属性、メソッド、モジュール機能、または他の有効なネーミングに失敗すると、この異常を引き起こす.
  • SyntaxError(StandardError)は、解釈器がコンパイル時に構文エラーに遭遇すると、この異常が発生する.
  • (2.0以降)IndentationError(SyntaxError)は不正なインデントに遭遇したときに開始する.この例外は2.0以降のバージョンでのみ使用され、前のバージョンではSyntaxError例外が発生する.
  • (2.0以降)TabError(IndentationError)は、-ttのオプションを使用して不一致インデントをチェックすると開始する可能性がある.この例外は2.0以降のバージョンでのみ使用され、前のバージョンではSyntaxError例外が発生する.
  • TypeError(StandardError)は、所与のタイプのオブジェクトが1つの動作をサポートする場合に開始する.
  • AssertionError(StandardError)はassert文の失敗時に開始する(すなわち式がfalseの場合).
  • LookupError(StandardError)は、シーケンスまたは辞書に所与のインデックスまたはキーが含まれていない場合に生じる異常のベースクラスである.
  • IndexError(LookupError)は、シーケンスオブジェクトが所与のインデックス数を使用するインデックスに失敗した場合(インデックス対応オブジェクトは存在しない)にこの異常を引き起こす.
  • KeyError(LookupError)辞書オブジェクトが所与のインデックスインデックスを使用することに失敗した場合(インデックス対応オブジェクトは存在しない)にこの異常が発生する.
  • ArithmeticError(StandardError)は数学計算に関連する異常の基礎となる.
  • OverflowError(ArithmeticError)は、オーバーフロー動作時に開始する(例えば、整数が大きすぎて所定のタイプに合わない).
  • ZeroDivisionError(ArithmeticError)は、ある数を0で除算しようとすると開始する.
  • FloatingPointError(ArithmeticError)は、浮動小数点数操作に失敗すると開始する.
  • ValueError(StandardError)は、パラメータタイプが正しいが値が合法でない場合に開始する.
  • (2.0以降)UnicodeError(ValueError)、Unicode文字列タイプ相関異常.2.0以降のバージョンのみ使用する.
  • RuntimeError(StandardError)は、実行時の問題が発生すると、制限モードでの外部コンテンツへのアクセスの試み、未知のハードウェアの問題などを含む.
  • NotImplementedError(RuntimeError)は、実装されていない関数または無効な方法をマークするために使用する.
  • SystemError(StandardError)、解釈器内部エラー.この異常値にはより多くの詳細が含まれます(よく「eval_code2: NULL globals" ).この本の著者は5年間プログラムを編んでもこの間違いを見たことがありません.(raise SystemErrorは使われていないと思います).
  • .
  • MemoryError(StandardError)は、解釈器がメモリを消費するとこの異常を引き起こす.この異常は、最下位メモリの割り当てに不満がある場合にのみ発生することに注意してください.あなたの古い機械であれば、この異常が発生する前にシステムは混乱したメモリ交換に陥ります.