Exceptions and Context Managers
The best-laid schemes o' mice an' men Gang aft agley– Robert Burns
These famous lines by Robert Burns should be etched into the mind of every programmer. Even if our code is correct, errors will happen. If we don't deal with them properly, they can cause our best-laid schemes to go awry.
Unhandled errors can cause software to crash or misbehave. If you are lucky, this just results in an irritated user. If you're unlucky, your business can end up losing money (an e-commerce website that keeps crashing is not likely to be very successful). Therefore, it is important to learn how to detect and handle errors. It is also a good idea to cultivate the habit of always thinking about what errors can occur and how your code should respond when they do.
This chapter is all about errors and dealing with the unexpected. We'll be learning about exceptions, which are Python's way of signaling that an...