       try_eval code catch ?finally?

              The try_eval command evaluates code in the current context.

       If  an  error occurs during the evaluation and catch is not empty, then
       catch is evaluated to handler the error.  The result  of  the  command,
       containing  the  error  message,  will  be  stored in a global variable
       errorResult.  The global variables errorResult, errorInfo and errorCode
       will  be imported into the current scope, there is no need to execute a
       global command.  The result of the catch command becomes the result  of
       the  try_eval command.  If the error that caused the catch to be evalu-
       ate is to be continued, the following command should be used:
            error $errorResult $errorCode $errorInfo

       If the finally argument is supplied and  not  empty,  it  is  evaluated
       after  the  evaluation of the code and the catch commands.  If an error
       occurs during the evaluation of the finally  command,  it  becomes  the
       result  of  the try_eval command.  Otherwise, the result of either code
       or catch is preserved, as described above.
