Throw[value] stops evaluation and returns value as the value of the nearest enclosing Catch.
Throw[value, tag] is caught only by Catch[expr, form] where form is a pattern that matches tag.
You can use Throw and Catch to exit functions such as Nest, Fold, FixedPoint and Scan.
tag can be any expression.
tag in Throw[value, tag] is re-evaluated every time it is compared to form in Catch[expr, form].
An error is generated and an unevaluated Throw is returned if there is no appropriate enclosing Catch to catch the Throw.
See The Mathematica Book: Section 2.5.9.
See also: Return, Goto, Interrupt, Abort.