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