Spec-Zone.ru › Python 3.7

email.errors: Классы исключений и дефектов

Исходный код: 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

Генерируется при добавлении содержимого к объекту Message с помощью add_payload(), но содержимое уже является скалярным, а основной тип Content-Type сообщения не является multipart или отсутствует. MultipartConversionError многократно наследуется от MessageError и встроенного TypeError.

Поскольку Message.add_payload() устарел, эта ошибка в практике редко генерируется. Однако исключение также может быть сгенерировано, если вызван метод attach() для экземпляра класса, унаследованного от MIMENonMultipart (например, MIMEImage).

Вот список дефектов, которые может обнаружить FeedParser при разборе сообщений. Обратите внимание, что дефекты добавляются к сообщению, в котором была найдена проблема, например, если сообщение, вложенное в multipart/alternative, имело некорректный заголовок, то у этого вложенного объекта сообщения будет дефект, но у содержащих сообщений не будет.

Все классы дефектов являются подклассами email.errors.MessageDefect.

  • NoBoundaryInMultipartDefect – Сообщение было заявлено как multipart, но не содержало параметра boundary.
  • StartBoundaryNotFoundDefect – Начальная граница, указанная в заголовке Content-Type, никогда не была найдена.
  • CloseBoundaryNotFoundDefect – Начальная граница была найдена, но соответствующая закрывающая граница никогда не была найдена.

    Добавлен в версии 3.3.

  • FirstHeaderLineIsContinuationDefect – В сообщении была строка продолжения в качестве первой строки заголовка.
  • MisplacedEnvelopeHeaderDefect - В середине блока заголовков был найден заголовок «Unix From».
  • MissingHeaderBodySeparatorDefect - При разборе заголовков была найдена строка без начальных пробелов, но без символа «:». Разбор продолжается с предположением, что строка представляет собой первую строку тела.

    Добавлен в версии 3.3.

  • MalformedHeaderDefect – Был найден заголовок, у которого отсутствовал двоеточие или он был иным образом некорректен.

    Устарел начиная с версии 3.3: Этот дефект не использовался несколько версий Python.

  • MultipartInvariantViolationDefect – Сообщение было заявлено как multipart, но подчасти не были найдены. Обратите внимание, что когда у сообщения есть этот дефект, метод is_multipart() может возвращать False, даже если его тип содержимого утверждает, что он является multipart.
  • InvalidBase64PaddingDefect – При декодировании блока закодированных в base64 байтов, заполнение не было корректным. Для выполнения декодирования добавляется достаточно заполнения, но результирующие декодированные байты могут быть недействительными.
  • InvalidBase64CharactersDefect – При декодировании блока закодированных в base64 байтов, были встречены символы за пределами алфавита base64. Символы игнорируются, но результирующие декодированные байты могут быть недействительными.
  • InvalidBase64LengthDefect – При декодировании блока закодированных в base64 байтов, количество символов base64, не являющихся символами заполнения, было неверным (на 1 больше, чем кратное 4). Закодированный блок сохраняется как есть.

© 2001–2020 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.7/library/email.errors.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API