Guido van Rossum wrote:No, no, no! NO! Never catch a general exception like that and replace it with one of your own. That can cause hours of debugging pain later on when the type error is deep down in the bowels of the += operation (or perhaps deep down inside something *it* invoked).
Ouch. Obviously, I hadn't thought about that. . .
Wasn't there a concept floating around some time ago to support exception chaining, so additional context information could be added to a thrown exception, without losing the location of the original problem?
Like that?
try : (...) except Exception, exception: # Keep the current exception stack and add information to exception. raise Exception( 'Additional exception info... :\n' + sys.exc_info()[0].__name__ + ': ' + str(exception)), None, sys.exc_info()[-1]
I made for myself a reraise function that I use a lot for that purpose, but it has some limitations. A standard way to do it would be great.
Regards, Nicolas
_______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com