designing with exceptions this rounds out this part of the book with collection of exception design topics and common use case examplesfollowed by this part' gotchas and exercises because this also closes out the fundamentals portion of the book at largeit includes brief overview of development tools as well to help you as you make the migration from python beginner to python application developer nesting exception handlers most of our examples so far have used only single try to catch exceptionsbut what happens if one try is physically nested inside anotherfor that matterwhat does it mean if try calls function that runs another trytechnicallytry statements can nestin terms of both syntax and the runtime control flow through your code 've mentioned this brieflybut let' clarify the idea here both of these cases can be understood if you realize that python stacks try statements at runtime when an exception is raisedpython returns to the most recently entered try statement with matching except clause because each try statement leaves markerpython can jump back to earlier trys by inspecting the stacked markers this nesting of active handlers is what we mean when we talk about propagating exceptions up to "higherhandlers--such handlers are simply try statements entered earlier in the program' execution flow figure - illustrates what occurs when try statements with except clauses nest at runtime the amount of code that goes into try block can be substantialand it may contain function calls that invoke other code watching for the same exceptions when an exception is eventually raisedpython jumps back to the most recently entered try statement that names that exceptionruns that statement' except clauseand then resumes execution after that try once the exception is caughtits life is over--control does not jump back to all matching trys that name the exceptiononly the first ( most recentone is given the opportunity to handle it in figure - for instancethe raise statement in the func