Exotic `goto`: generators and exceptions

The last post argued that break , continue , and labeled jumps are structured goto — disciplined jumps that keep code linear. Two ordinary language features are jumps in disguise: yield , which suspends a function and later resumes it in the middle, and throw , which leaps across stack frames to a waiting handler.