Description
In the early days, people wrote small applications in assembly language, using gotos to get around. This didn't scale, so we traded gotos for structured functions with single entry and exit points—and then we added a new kind of goto with the exception, which not only blows up your function but can end up anywhere. This makes functions difficult to compose. We’ll look at strategies in Python that bring exceptions under control and make functions composable again, including the third-party returns library.