\declaremodule{standard}{email.Errors}
\modulesynopsis{The exception classes used by the email package.}

The following exception classes are defined in the
\module{email.Errors} module:

\begin{excclassdesc}{MessageError}{}
This is the base class for all exceptions that the \module{email}
package can raise.  It is derived from the standard
\exception{Exception} class and defines no additional methods.
\end{excclassdesc}

\begin{excclassdesc}{MessageParseError}{}
This is the base class for exceptions thrown by the \class{Parser}
class.  It is derived from \exception{MessageError}.
\end{excclassdesc}

\begin{excclassdesc}{HeaderParseError}{}
Raised under some error conditions when parsing the \rfc{2822} headers of
a message, this class is derived from \exception{MessageParseError}.
It can be raised from the \method{Parser.parse()} or
\method{Parser.parsestr()} methods.

Situations where it can be raised include finding an envelope
header after the first \rfc{2822} header of the message, finding a
continuation line before the first \rfc{2822} header is found, or finding
a line in the headers which is neither a header or a continuation
line.
\end{excclassdesc}

\begin{excclassdesc}{BoundaryError}{}
Raised under some error conditions when parsing the \rfc{2822} headers of
a message, this class is derived from \exception{MessageParseError}.
It can be raised from the \method{Parser.parse()} or
\method{Parser.parsestr()} methods.

Situations where it can be raised include not being able to find the
starting or terminating boundary in a \mimetype{multipart/*} message
when strict parsing is used.
\end{excclassdesc}

\begin{excclassdesc}{MultipartConversionError}{}
Raised when a payload is added to a \class{Message} object using
\method{add_payload()}, but the payload is already a scalar and the
message's \mailheader{Content-Type} main type is not either
\mimetype{multipart} or missing.  \exception{MultipartConversionError}
multiply inherits from \exception{MessageError} and the built-in
\exception{TypeError}.

Since \method{Message.add_payload()} is deprecated, this exception is
rarely raised in practice.  However the exception may also be raised
if the \method{attach()} method is called on an instance of a class
derived from \class{MIMENonMultipart} (e.g. \class{MIMEImage}).
\end{excclassdesc}
