Appendix C. Troubleshooting Exceptions
At some point in your development career—probably by the time you write your first script—you will have encountered a Python error and received a "Traceback" message. The Traceback provides the context of the error and pinpoints the line that caused the issue. The issue itself is an exception and a message of the error (even if it isn't very descriptive or helpful).
Python has a number of built-in exceptions whose purpose is to help the developer in diagnosing errors in their code. This section contains faulty exception-producing code and solutions. The idea is to learn what not to do from bad examples. This is not, however, an exhaustive listing as some less common, module-specific, and user-created exceptions are not covered. A full listing of built-in exceptions can be found at https://docs.python.org/2/library/exceptions.html.
Many Python scripters, developers, and hobbyists have shared their solutions for troubleshooting...