summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1998-10-13 20:02:39 (GMT)
committerGuido van Rossum <guido@python.org>1998-10-13 20:02:39 (GMT)
commit9f1292d84000f9793793002f46cd2767ff8e3dc6 (patch)
tree4f6a26c2836b2d94a9a8bbd7cc1087350fc2fa58 /Lib
parentad24ae10df60b77cf3cbd6497798d0d72a2810c1 (diff)
downloadcpython-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')
-rw-r--r--Lib/lib-tk/Tkinter.py3
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