REBOL [ Title: "Throwing and Catching Named Values" Author: "Jeff Kreis" Email: jeff@rebol.com File: %catcher.r Date: 16-Jun-1999 Purpose: { Throwing and catching functions. } Category: [misc script 3] ] random/seed now catcher: func [][ return catch/name [ return catch/name [ if random true [ throw/name func [][print "I am primus"] 'primus ] if random false [ throw/name func [][print "I am secondus"] 'secondus ] func [][print "I made it through untouched!"] ] 'secondus ] 'primus func[][print "How'd I get down here?"] ] loop 20 [do catcher]