On Tue, Jun 13, 2017 at 2:26 AM, Nathaniel Smith <njs at pobox.com> wrote: > On Mon, Jun 12, 2017 at 6:29 AM, Stefan Ring <stefanrin at gmail.com> wrote: >> >> > Yury in the comment for PR 2108 [1] suggested more complicated code: >> > >> > do_something() >> > try: >> > do_something_other() >> > except BaseException as ex: >> > try: >> > undo_something() >> > finally: >> > raise ex >> >> And this is still bad, because it loses the back trace. The way we do it is: >> >> do_something() >> try: >> do_something_other() >> except BaseException as ex: >> tb = sys.exc_info()[2] >> try: >> undo_something() >> finally: >> raise ex, None, tb > > Are you testing on python 2? On Python 3 just plain 'raise ex' seems > to give a sensible traceback for me... Yes, on Python 2. Interesting to know that this has changed in Python 3. I'll check this out immediately.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4