Re-raising exceptions with modified message

Christoph Zwerschke cito at
Fri Jul 6 00:18:48 CEST 2007

Sorry for the soliloquy, but what I am really using is the following so 
that the re-raised excpetion has the same type:

def PoliteException(e):
     class PoliteException(e.__class__):
         def __init__(self, e):
             self._e = e
         def __getattr__(self, name):
             return getattr(self._e, name)
         def __str__(self):
             if isinstance(self._e, PoliteException):
                 return str(self._e)
                 return '\n%s: %s, I am sorry!' % (
                     self._e.__class__.__name__, str(self._e))
     return PoliteException(e)

except Exception, e:
     raise PoliteException(e)

More information about the Python-list mailing list