':param reason: Human readable string suitable for logging
:param severity: denoting which operations should be
aborted. E.g. a ERROR.MESSAGE can occur on a faulty
message, but a ERROR.REPO occurs when the server is
offline.
:param errcode: optional number denoting a predefined error
situation (which let\'s us exit with a predefined exit
value). So far, no errcodes have been defined yet.
:type severity: OfflineImapError.ERROR value'

def __init__(self, reason, severity, errcode=None):

    self.errcode = errcode
    self.severity = severity
    super(OfflineImapError, self).__init__(reason)
