email.errors: 异常和缺陷类¶
源代码: Lib/email/errors.py
下列异常类是在 email.errors 模块中定义的:
- 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¶
当在派生自
MIMENonMultipart的类(例如MIMEImage)的实例上调用attach()方法时将被引发。MultipartConversionError多重继承自MessageError和内置的TypeError.
- exception email.errors.MessageDefect¶
这是表示在解析邮件消息时出现的所有错误的基类。它派生自
ValueError。
- exception email.errors.HeaderDefect¶
这是表示在解析邮件标头时出现的所有错误的基类。它派生自
MessageDefect。
以下是 FeedParser 在解析消息时可发现的缺陷列表。 请注意这些缺陷会在问题被发现时加入到消息中,因此举例来说,如果某条嵌套在 multipart/alternative 中的消息具有错误的标头,该嵌套消息对象就会有一条缺陷,但外层消息对象则没有。
所有缺陷类都是 email.errors.MessageDefect 的子类。
- exception email.errors.NoBoundaryInMultipartDefect¶
一条消息宣称为多部分,但却没有 boundary 参数。
- exception email.errors.StartBoundaryNotFoundDefect¶
在 Content-Type 标头中宣称的开始边界无法找到。
- exception email.errors.CloseBoundaryNotFoundDefect¶
找到了开始边界,但找不到对应的结束边界。
Added in version 3.3.
- exception email.errors.FirstHeaderLineIsContinuationDefect¶
消息以一个后续行作为其第一个标头行。
- exception email.errors.MisplacedEnvelopeHeaderDefect¶
在标头块中间发现了一个 "Unix From" 标头。
- exception email.errors.MissingHeaderBodySeparatorDefect¶
在解析没有前缀空格但又不包含 ':' 的标头期间发现一行内容。解析将假定该行代表消息体的第一行以继续执行。
Added in version 3.3.
- exception email.errors.MalformedHeaderDefect¶
找到一个缺失了冒号,或者是格式错误的标头。
自 3.3 版本弃用: 此缺陷在近几个 Python 版本中已不再使用。
- exception email.errors.MultipartInvariantViolationDefect¶
一条消息宣称为 multipart,但找不到任何子部分。请注意当一条消息有此缺陷时,其
is_multipart()方法可能返回False,即使其内容类型宣称为 multipart.
- exception email.errors.InvalidBase64PaddingDefect¶
当解码一个 base64 编码的字节块时,填充的数据不正确。虽然添加了足够的填充数据以执行解码,但作为结果的已解码字节串可能无效。
- exception email.errors.InvalidBase64CharactersDefect¶
当解码一个 base64 编码的字节分块时,遇到了 base64 字符表以外的字符。这些字符会被忽略,但作为结果的已解码字节串可能无效。
- exception email.errors.InvalidBase64LengthDefect¶
当解码一个 base64 编码的字节分块时,非填充 base64 字符的数量无效(比 4 的倍数多 1)。已编码分块会保持原样。
- exception email.errors.InvalidDateDefect¶
当解码一个无效或不可解析的日期字段时引发。原始值会被保持原样。