email.errors: Exception and Defect classes
email.errors: Exception and Defect classes
以下异常类在email.errors
模块中定义:
exception email.errors.MessageError
这是email
包可以引发的所有异常的基类。它来自标准Exception
类并且没有定义其他方法。
exception email.errors.MessageParseError
这是该类提出的异常的基Parser
类。它来源于MessageError
。
exception email.errors.HeaderParseError
在解析消息的RFC 2822
标头时,在某些错误条件下引发
此类派生自MessageParseError
。它可以从提高Parser.parse
或Parser.parsestr
方法。
其中可以升高情况包括在找到第一个之后的封壳标题RFC 2822
的消息的报头,找出第一之前连续行RFC 2822
报头被发现,或寻找在标头的线,其既不是一个报头或连续行。
exception email.errors.BoundaryError
在解析消息的RFC 2822
标头时,在某些错误条件下引发
此类派生自MessageParseError
。它可以从提高Parser.parse
或Parser.parsestr
方法。
可能引发的情况包括在使用严格分析时无法在multipart / *
消息中找到起始或终止边界。
exception email.errors.MultipartConversionError
当有效载荷被添加到使用的Message
对象时引发add_payload()
,但有效载荷已经是标量,并且消息的Content-Type
主类型不是多部分
或缺失。MultipartConversionError
乘法继承自MessageError
内置TypeError
。
由于Message.add_payload()
已被弃用,这种例外在实践中很少引起。但是,如果attach()
方法在派生自MIMENonMultipart
(eg MIMEImage
)的类的实例上调用,也可能会引发异常。
以下是FeedParser
解析消息时可以找到的缺陷列表。请注意,将缺陷添加到发现问题的消息中,例如,如果嵌套在multipart / alternative
内的消息具有格式错误的头,则嵌套的消息对象将具有缺陷,但包含的消息不会。
所有的缺陷类都从子类别中划分出来email.errors.MessageDefect
,但这个类不是
例外!
版本2.4中的新功能:添加了所有缺陷类。
NoBoundaryInMultipartDefect
- 声称是多部分的消息,但没有边界
参数。
StartBoundaryNotFoundDefect
-Content-Type
头中声明的起始边界从未找到。
FirstHeaderLineIsContinuationDefect
- 该消息有一个延续线作为其第一个标题行。
MisplacedEnvelopeHeaderDefect
- 在标题块的中间找到“Unix From”标题。
MalformedHeaderDefect
- 发现头部缺少冒号,或者是其他格式不正确。
MultipartInvariantViolationDefect
- 一条消息声称是多部分
,但没有发现子部分。请注意,当消息具有此缺陷时,is_multipart()
即使其内容类型声称为多部分
,其方法也可能返回false 。