Документация Python неофициальный перевод

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

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

Возбуждается, если метод attach() вызывается у экземпляра класса, унаследованного от MIMENonMultipart (например, MIMEImage). MultipartConversionError множественно наследуется от MessageError и встроенного TypeError.

exception email.errors.HeaderWriteError

Возбуждается при ошибке, возникающей при выводе заголовков объектом generator.

exception email.errors.MessageDefect

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

exception email.errors.HeaderDefect

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

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

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

exception email.errors.NoBoundaryInMultipartDefect

Сообщение заявлено как multipart, но не имеет параметра boundary.

exception email.errors.StartBoundaryNotFoundDefect

Начальная граница, указанная в заголовке Content-Type, так и не была найдена.

exception email.errors.CloseBoundaryNotFoundDefect

Начальная граница найдена, но соответствующая закрывающая граница так и не была найдена.

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

exception email.errors.FirstHeaderLineIsContinuationDefect

Первая строка заголовка сообщения оказалась строкой продолжения.

exception email.errors.MisplacedEnvelopeHeaderDefect

В середине блока заголовков был найден заголовок “Unix From”.

exception email.errors.MissingHeaderBodySeparatorDefect

При разборе заголовков обнаружена строка без начального пробела, но не содержащая ':'. Разбор продолжается в предположении, что эта строка является первой строкой тела сообщения.

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

exception email.errors.MalformedHeaderDefect

Обнаружен заголовок, в котором отсутствовало двоеточие, или он был иным образом повреждён.

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

exception email.errors.MultipartInvariantViolationDefect

Сообщение утверждает, что является multipart, но не было найдено ни одной вложенной части. Обратите внимание: когда сообщение имеет этот дефект, его метод is_multipart() может вернуть False, даже если его тип содержимого заявляет multipart.

exception email.errors.InvalidBase64PaddingDefect

При декодировании блока байтов, закодированных в base64, дополнение (padding) было некорректным. Добавляется достаточное количество дополнения для выполнения декодирования, но полученные декодированные байты могут быть недействительными.

exception email.errors.InvalidBase64CharactersDefect

При декодировании блока байтов, закодированных в base64, встретились символы, не входящие в алфавит base64. Эти символы игнорируются, но полученные декодированные байты могут быть недействительными.

exception email.errors.InvalidBase64LengthDefect

При декодировании блока байтов, закодированных в base64, количество символов base64 без учёта дополнения было недопустимым (на 1 больше, чем кратное 4). Закодированный блок был оставлен без изменений.

exception email.errors.InvalidDateDefect

При декодировании недопустимого или неразбираемого поля даты. Исходное значение сохраняется без изменений.