from __future__ import print_function def trace(frame, event, arg): print("ZZ", event) if event == "exception": from traceback import format_exception print(event, arg) print("-------------------------------") print("".join(format_exception(*arg))) #print("".join(format_exception(*arg, chain=False))) print("-------------------------------") return trace import sys sys.settrace(trace) def f(): x = 5 x.invalid f()