CATCH tag instructionlist

	command or operation.  Runs its second input.  Outputs if that
	instructionlist outputs.  If, while running the instructionlist,
	a THROW instruction is executed with a tag equal to the first
	input (case-insensitive comparison), then the running of the
	instructionlist is terminated immediately.  In this case the CATCH
	outputs if a value input is given to THROW.  The tag must be a word.

	If the tag is the word ERROR, then any error condition that arises
	during the running of the instructionlist has the effect of THROW
	"ERROR instead of printing an error message and returning to
	toplevel.  The CATCH does not output if an error is caught.  Also,
	during the running of the instructionlist, the variable ERRACT is
	temporarily unbound.  (If there is an error while ERRACT has a
	value, that value is taken as an instructionlist to be run after
	printing the error message.  Typically the value of ERRACT, if any,
	is the list [PAUSE].)

