email.errors:例外クラスと欠陥クラス—Pythonドキュメント

提供:Dev Guides
< PythonPython/docs/3.8/library/email.errors
移動先:案内検索

email.errors :例外クラスと欠陥クラス

ソースコード: :source: `Lib / email / errors.py`



email.errors モジュールでは、次の例外クラスが定義されています。

exception email.errors.MessageError
これは、 email パッケージが発生する可能性のあるすべての例外の基本クラスです。 これは、標準の Exception クラスから派生しており、追加のメソッドを定義していません。
exception email.errors.MessageParseError
これは、 Parser クラスによって発生する例外の基本クラスです。 MessageError から派生しています。 このクラスは、 headerregistry によって使用されるパーサーによって内部的にも使用されます。
exception email.errors.HeaderParseError
メッセージの RFC 5322 ヘッダーを解析するときに、いくつかのエラー条件下で発生するこのクラスは、 MessageParseError から派生します。 set_boundary()メソッドは、メソッドが呼び出されたときにコンテンツタイプが不明な場合、このエラーを発生させます。 Header は、特定のbase64デコードエラーに対してこのエラーを発生させる可能性があり、埋め込みヘッダーを含むように見えるヘッダーを作成しようとすると(つまり、先頭に空白がなく、ヘッダーのように見えます)。
exception email.errors.BoundaryError
非推奨になり、使用されなくなりました。
exception email.errors.MultipartConversionError

add_payload()を使用してペイロードが Message オブジェクトに追加されたが、ペイロードはすでにスカラーであり、メッセージの Content-Type メインタイプもではない場合に発生します] multipart または欠落しています。 MultipartConversionError は、 MessageError と組み込みの TypeError から乗算を継承します。

Message.add_payload()は非推奨であるため、この例外が実際に発生することはめったにありません。 ただし、 attach()メソッドが MIMENonMultipart から派生したクラスのインスタンスで呼び出された場合にも、例外が発生する可能性があります(例: MIMEImage )。

これは、 FeedParser がメッセージの解析中に見つけることができる欠陥のリストです。 問題が見つかったメッセージに欠陥が追加されることに注意してください。たとえば、 multipart / Alternative 内にネストされたメッセージに不正な形式のヘッダーがある場合、そのネストされたメッセージオブジェクトには欠陥がありますが、メッセージを含むことはしません。

すべての欠陥クラスはemail.errors.MessageDefectからサブクラス化されています。

  • NoBoundaryInMultipartDefect –メッセージはマルチパートであると主張されましたが、境界パラメーターがありませんでした。

  • StartBoundaryNotFoundDefectContent-Type ヘッダーで要求された開始境界が見つかりませんでした。

  • CloseBoundaryNotFoundDefect –開始境界が見つかりましたが、対応する近接境界は見つかりませんでした。

    バージョン3.3の新機能。

  • FirstHeaderLineIsContinuationDefect –メッセージの最初のヘッダー行として継続行がありました。

  • MisplacedEnvelopeHeaderDefect-ヘッダーブロックの中央に「UnixFrom」ヘッダーが見つかりました。

  • MissingHeaderBodySeparatorDefect-先頭に空白がないが「:」が含まれていないヘッダーの解析中に行が見つかりました。 線が本体の最初の線を表すと仮定して、解析が続行されます。

    バージョン3.3の新機能。

  • MalformedHeaderDefect –コロンが欠落しているか、その他の方法で不正な形式のヘッダーが見つかりました。

    バージョン3.3以降非推奨:この欠陥はいくつかのPythonバージョンでは使用されていません。

  • MultipartInvariantViolationDefect –メッセージはマルチパートであると主張されましたが、サブパートが見つかりませんでした。 メッセージにこの欠陥がある場合、そのコンテンツタイプが multipart であると主張していても、その is_multipart()メソッドはFalseを返す場合があることに注意してください。

  • InvalidBase64PaddingDefect – base64でエンコードされたバイトのブロックをデコードするときに、パディングが正しくありませんでした。 デコードを実行するのに十分なパディングが追加されますが、結果のデコードされたバイトは無効である可能性があります。

  • InvalidBase64CharactersDefect – base64でエンコードされたバイトのブロックをデコードするときに、base64アルファベット以外の文字が検出されました。 文字は無視されますが、結果のデコードされたバイトは無効である可能性があります。

  • InvalidBase64LengthDefect – base64でエンコードされたバイトのブロックをデコードするときに、パディングされていないbase64文字の数が無効でした(4の倍数より1多い)。 エンコードされたブロックはそのまま保持されました。