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

email.errors.md

47 строк · 6.8 КБ · обычная страница · сырой текст · скачать

1> **Источник:** https://python-all.ru/3.2/library/email.errors.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# 18.1.8. [`email.errors`](https://python-all.ru/3.2/library/email.errors.html#module-email.errors): Классы исключений и дефектов89В модуле [`email.errors`](https://python-all.ru/3.2/library/email.errors.html#module-email.errors) определены следующие классы исключений:1011#### `exception email.errors.MessageError`1213Это базовый класс для всех исключений, которые пакет [`email`](https://python-all.ru/3.2/library/email.html#module-email) может возбуждать. Он производный от стандартного класса [`Exception`](https://python-all.ru/3.2/library/exceptions.html#Exception) и не определяет дополнительных методов.1415#### `exception email.errors.MessageParseError`1617Это базовый класс для исключений, возбуждаемых классом [`Parser`](https://python-all.ru/3.2/library/email.parser.html#email.parser.Parser). Он производный от [`MessageError`](https://python-all.ru/3.2/library/email.errors.html#email.errors.MessageError).1819#### `exception email.errors.HeaderParseError`2021Вызывается при некоторых ошибках во время разбора заголовков [**RFC 2822**](https://python-all.ru/3.2/library/email.errors.html) сообщения. Этот класс наследует от [`MessageParseError`](https://python-all.ru/3.2/library/email.errors.html#email.errors.MessageParseError). Он может быть возбуждён методами `Parser.parse()` или `Parser.parsestr()`.2223Ситуации, в которых он может быть вызван, включают обнаружение конвертного заголовка после первого [**RFC 2822**](https://python-all.ru/3.2/library/email.errors.html) заголовка сообщения, обнаружение строки продолжения до того, как найден первый [**RFC 2822**](https://python-all.ru/3.2/library/email.errors.html) заголовок, или обнаружение строки в заголовках, которая не является ни заголовком, ни строкой продолжения.2425#### `exception email.errors.BoundaryError`2627Вызывается при некоторых ошибках во время разбора заголовков [**RFC 2822**](https://python-all.ru/3.2/library/email.errors.html) сообщения. Этот класс наследует от [`MessageParseError`](https://python-all.ru/3.2/library/email.errors.html#email.errors.MessageParseError). Он может быть возбуждён методами `Parser.parse()` или `Parser.parsestr()`.2829Ситуации, в которых он может быть вызван, включают невозможность найти начальную или конечную границу в *multipart/\** сообщении при строгом разборе.3031#### `exception email.errors.MultipartConversionError`3233Raised when a payload is added to a `Message` object using `add_payload()`, but the payload is already a scalar and the message’s *Content-Type* main type is not either *multipart* or missing. [`MultipartConversionError`](https://python-all.ru/3.2/library/email.errors.html#email.errors.MultipartConversionError) multiply inherits from [`MessageError`](https://python-all.ru/3.2/library/email.errors.html#email.errors.MessageError) and the built-in [`TypeError`](https://python-all.ru/3.2/library/exceptions.html#TypeError).3435Поскольку `Message.add_payload()` устарел, это исключение редко возникает на практике. Однако исключение также может быть вызвано, если метод `attach()` вызывается на экземпляре класса, производного от [`MIMENonMultipart`](https://python-all.ru/3.2/library/email.mime.html#email.mime.nonmultipart.MIMENonMultipart) (например, [`MIMEImage`](https://python-all.ru/3.2/library/email.mime.html#email.mime.image.MIMEImage)).3637Вот список дефектов, которые `FeedParser` может обнаружить при разборе сообщений. Обратите внимание, что дефекты добавляются к тому сообщению, где была найдена проблема; так, например, если сообщение, вложенное внутрь *multipart/alternative*, содержало повреждённый заголовок, то у этого вложенного объекта сообщения будет дефект, а у содержащих его сообщений – нет.3839Все классы дефектов являются подклассами `email.errors.MessageDefect`, но этот класс *не* является исключением!4041- `NoBoundaryInMultipartDefect` – Сообщение заявляло, что оно является multipart, но не имело параметра *boundary*.42- `StartBoundaryNotFoundDefect` – Начальная граница, указанная в заголовке *Content-Type*, не была найдена.43- `FirstHeaderLineIsContinuationDefect` – Сообщение имело строку продолжения в качестве первой строки заголовка.44- `MisplacedEnvelopeHeaderDefect` – Заголовок “Unix From” был найден в середине блока заголовков.45- `MalformedHeaderDefect` – Был найден заголовок, в котором отсутствовало двоеточие или который был иным образом некорректен.46- `MultipartInvariantViolationDefect` – Сообщение заявлено как *multipart*, но вложенные части не найдены. Обратите внимание, что если у сообщения есть этот дефект, его метод `is_multipart()` может возвращать false, даже если его тип содержимого заявлен как *multipart*.47