Spec-Zone.ru › Python 3.5

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

Исходный код: Lib/email/errors.py

В модуле email.errors определены следующие классы исключений:

exception email.errors.MessageError

Это базовый класс для всех исключений, которые может генерировать пакет email. Он наследуется от стандартного класса Exception и не определяет дополнительных методов.

exception email.errors.MessageParseError

Это базовый класс для исключений, генерируемых классом Parser. Он наследуется от MessageError.

exception email.errors.HeaderParseError

Возникает при некоторых ошибках при разборе заголовков RFC 2822 сообщения. Этот класс наследуется от MessageParseError. Он может быть вызван методами Parser.parse или Parser.parsestr.

Ситуации, при которых может возникнуть исключение: обнаружение заголовка конверта после первого заголовка RFC 2822, обнаружение строки продолжения перед первым заголовком RFC 2822, или обнаружение строки в заголовках, которая не является заголовком или строкой продолжения.

exception email.errors.BoundaryError

Возникает при некоторых ошибках при разборе заголовков RFC 2822 сообщения. Этот класс наследуется от MessageParseError. Он может быть вызван методами Parser.parse или Parser.parsestr.

Ситуации, при которых может возникнуть исключение: невозможность найти начальную или конечную границу в сообщении multipart/* при строгом разборе.

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, padding был некорректным. Достаточно padding для выполнения декодирования добавлен, но результирующие декодированные данные могут быть недействительными.
  • InvalidBase64CharactersDefect – При декодировании блока данных, закодированных в base64, были встречены символы, не входящие в алфавит base64. Символы игнорируются, но результирующие декодированные данные могут быть недействительными.

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

Spec-Zone.ru

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