##
4 例外とエラー処理

parserモジュールは例外を一つ定義していますが、Pythonランタイム環境の他の部分が提供する別の組み込み例外を発生させることもあります。各関数が発生させる例外の情報については、それぞれ関数を参照してください。

exception `ParserError`
  parserモジュール内部で障害が起きたときに発生する例外。普通の構文解析中に発生する組み込みの`SyntaxError`ではなく、一般的に妥当性確認が失敗した場合に引き起こされます。例外の引数としては、障害の理由を説明する文字列である場合と、`sequence2ast()`へ渡される解析木の中の障害を引き起こすシーケンスを含むタプルと説明用の文字列である場合があります。モジュール内の他の関数の呼び出しは単純な文字列値を検出すればよいだけですが、`sequence2ast()`の呼び出しはどちらの例外の型も処理できる必要があります。

普通は構文解析とコンパイル処理によって発生する例外を、関数`compileast()`、`expr()`および`suite()`が発生させることに注意してください。このような例外には組み込み例外`MemoryError`、`OverflowError`、`SyntaxError`および`SystemError`が含まれます。こうした場合には、これらの例外が通常その例外に関係する全ての意味を伝えます。詳細については、各関数の説明を参照してください。