Providing exception objects with meaningful attribute names is much nicer than using e.args[].
Signed-off-by: Justus Winter <4winter at informatik.uni-hamburg.de> --- bindings/python/notmuch/globals.py | 9 +++++---- 1 files changed, 5 insertions(+), 4 deletions(-) diff --git a/bindings/python/notmuch/globals.py b/bindings/python/notmuch/globals.py index 05b9962..779ba5f 100644 --- a/bindings/python/notmuch/globals.py +++ b/bindings/python/notmuch/globals.py @@ -91,13 +91,14 @@ STATUS.__name__ = 'STATUS' class NotmuchError(Exception): def __init__(self, status=None, message=None): """Is initiated with a (notmuch.STATUS[,message=None])""" - super(NotmuchError, self).__init__(message, status) + self.status = status + self.message = message def __str__(self): - if self.args[0] is not None: - return self.args[0] + if self.message is not None: + return self.message else: - return STATUS.status2str(self.args[1]) + return STATUS.status2str(self.status) def _str(value): """Ensure a nicely utf-8 encoded string to pass to libnotmuch -- 1.7.6.3