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¶
При декодировании недопустимого или неразбираемого поля даты. Исходное значение сохраняется без изменений.