diff options
author | Guido van Rossum <guido@python.org> | 1998-10-13 20:02:39 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1998-10-13 20:02:39 (GMT) |
commit | 9f1292d84000f9793793002f46cd2767ff8e3dc6 (patch) | |
tree | 4f6a26c2836b2d94a9a8bbd7cc1087350fc2fa58 /Lib/lib-tk | |
parent | ad24ae10df60b77cf3cbd6497798d0d72a2810c1 (diff) | |
download | cpython-9f1292d84000f9793793002f46cd2767ff8e3dc6.zip cpython-9f1292d84000f9793793002f46cd2767ff8e3dc6.tar.gz cpython-9f1292d84000f9793793002f46cd2767ff8e3dc6.tar.bz2 |
Perhaps a controversial change: when reporting a callback exception,
assign the exception info to sys.last_{type,value,traceback}. That
way, an introspective Tkinter app can inspect its own stack trace.
(The controversy is that it would keep some objects alive, but that's
probably no big deal.)
Diffstat (limited to 'Lib/lib-tk')
-rw-r--r-- | Lib/lib-tk/Tkinter.py | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/Lib/lib-tk/Tkinter.py b/Lib/lib-tk/Tkinter.py index 4662f3b..0f4c713 100644 --- a/Lib/lib-tk/Tkinter.py +++ b/Lib/lib-tk/Tkinter.py @@ -935,6 +935,9 @@ class Tk(Misc, Wm): def report_callback_exception(self, exc, val, tb): import traceback, sys sys.stderr.write("Exception in Tkinter callback\n") + sys.last_type = exc + sys.last_value = val + sys.last_traceback = tb traceback.print_exception(exc, val, tb) # Ideally, the classes Pack, Place and Grid disappear, the |