Use traceback.format_exc() method to get traceback from exceptions in Python. the traceback Python library that provides a standard interface to extract, format, and print stack traces of Python programs (including those associated with an exception object – e.__traceback__).
traceback.format_exc()It returns a string containing:
- A header that says
Traceback (most recent call last): - Stack traceback
- The exception type and value after the stack trace (eg:
NameError: name 'some_var' is not defined)
Python gets traceback from exception
A simple example code gets the traceback:
import traceback
def func1():
raise ValueError("Some error occurred!")
def func2():
return func1()
def func3():
try:
func2()
except Exception as e:
# Return the traceback/stack trace as a string
return traceback.format_exc()
print(func3())
Output:

You can use traceback.print_exc() to write to a file instead of returning a string:
except Exception as e:
with open('print.txt', 'w+') as f:
traceback.print_exc(file=f)Extract traceback info from an exception object
It’s simple: exceptions come equipped with an __traceback__ attribute that contains the traceback. This attribute is also writable and can be conveniently set using the with_traceback method of exceptions:
raise Exception("foo occurred").with_traceback(tracebackobj)Do comment if you have any doubts or suggestions on this Python exception-handling topic.
Note: IDE: PyCharm 2021.3.3 (Community Edition)
Windows 10
Python 3.10.1
All Python Examples are in Python 3, so Maybe its different from python 2 or upgraded versions.