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...