Re-raising exceptions with modified message

Christoph Zwerschke cito at online.de
Thu Jul 5 18:18:48 EDT 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)
             else:
                 return '\n%s: %s, I am sorry!' % (
                     self._e.__class__.__name__, str(self._e))
     return PoliteException(e)

try:
     unicode('\xe4')
except Exception, e:
     raise PoliteException(e)




More information about the Python-list mailing list