catch([arg]) {|tag| block } â obj
Instance Public methods
catch executes its block. If a throw is executed,
Ruby searches up its stack for a catch block with a tag
corresponding to the throw's tag. If found, that
block is terminated, and catch returns the value given to
throw. If throw is not called, the block
terminates normally, and the value of catch is the value of
the last expression evaluated. catch expressions may be
nested, and the throw call need not be in lexical scope.