Zahn's construct in computer science, also known as the "situation case statement", was a proposed structure for structured control flow in computer programming languages first described by Charles T. Zahn in 1974.
Zahn does this by introducing a new kind of variable called a situation indicator in a CASE-like construct surrounding the loop.
Try-catch blocks, used in modern programming languages for exception handling, are substantial extensions of Zahn's construct.
The major difference is that the scope of Zahn's proposals were limited to individual loops within a program, whereas exception-handling capabilities often allow exceptions to be "thrown" from deep within a call stack and "caught" at a point higher up in the stack.
Because Zahn's construct is local to a routine, it can be implemented very efficiently, without any need to 'unwind' the call stack.