When an exception is raised, you see the call stack. The call stack contains the trace of all the functions that called the code where the exception was raised.
A simple stack example is:
def f():
g()
def g():
h()
def h():
1//0
f()
The stack, in this case, is f, g, and h. The output generated by running this piece of code looks like this:
Traceback (most recent call last):
File "stack_example.py", line 11, in <module>
f()
File "stack_example.py", line 3, in f
g()
File "stack_example.py", line 6, in g
h() File "stack_example.py", line 9, in h
1//0
ZeroDivisionError: integer division or modulo by zero
The error is printed. The sequence of functions leading up to the error is shown. The function f on line 11 was called, which in turn called g and then h. This caused ZeroDivisionError.
A stack trace reports on the active stack at a certain...