software-design/how-to-read-a-python-error-message-without-panicking.md
How to read a Python error message without panicking
When Python crashes it prints a traceback: a report of what went wrong and where. It looks scary, but it has a fixed shape, and the most useful part is at the bottom.
Learn to read the error type, the message, the file and line number, and the chain of function calls that led there. Then meet the five errors beginners hit most (SyntaxError, NameError, TypeError, IndexError, KeyError), test yourself in a matching game, and pick up a calm debugging routine that works every time.