How can I print a traceback without raising an exception?

Gerald Britton gerald.britton at
Sun Feb 13 19:05:04 CET 2011

In the following example, I raise an exception in function h() which
prints a traceback.  I would like to know how I can get a similar
display on my terminal without raising an exception.  That is, can I
replace "raise Exception" in function h() with some sequence of
instructions (possibly using the inspect module) that will generate a
similar call trace  of how I got to that point?


>>> def f():
...  g()
>>> def g():
...  h()
>>> def h():
...  raise Exception  # Replace with something to generate a call trace
>>> f()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 2, in f
  File "<stdin>", line 2, in g
  File "<stdin>", line 2, in h

Gerald Britton

More information about the Python-list mailing list