Spec-Zone.ru › Python 3.13

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).

exception email.errors.HeaderWriteError

Вызывается, когда при выводе заголовков происходит ошибка в generator.

exception email.errors.MessageDefect

Это базовый класс для всех дефектов, обнаруженных при разборе электронных сообщений. Он наследуется от ValueError.

exception email.errors.HeaderDefect

Это базовый класс для всех дефектов, обнаруженных при разборе заголовков электронных сообщений. Он наследуется от MessageDefect.

Вот список дефектов, которые может найти 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). Кодированный блок остался неизменным.
  • InvalidDateDefect – При декодировании некорректного или неразборчивого поля даты. Исходное значение остается неизменным.

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

Spec-Zone.ru

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