Home Man
Search
Today's Posts
Register

Linux & Unix Commands - Search Man Pages

OpenDarwin 7.2.1 - man page for catch (opendarwin section n)

catch(n)			      Tcl Built-In Commands				 catch(n)

_________________________________________________________________________________________________

NAME
       catch - Evaluate script and trap exceptional returns

SYNOPSIS
       catch script ?varName?
_________________________________________________________________

DESCRIPTION
       The  catch  command  may  be  used to prevent errors from aborting command interpretation.
       Catch calls the Tcl interpreter recursively to execute script, and always returns  without
       raising an error, regardless of any errors that might occur while executing script.

       If script raises an error, catch will return a non-zero integer value corresponding to one
       of the exceptional return codes (see tcl.h for the definitions of code  values).   If  the
       varName	argument  is  given,  then the variable it names is set to the error message from
       interpreting script.

       If script does not raise an error, catch will return 0 (TCL_OK) and set	the  variable  to
       the value returned from script.

       Note that catch catches all exceptions, including those generated by break and continue as
       well as errors.	The only errors that are not caught are  syntax  errors  found	when  the
       script is compiled.  This is because the catch command only catches errors during runtime.
       When the catch statement is compiled, the script is compiled as well and any syntax errors
       will generate a Tcl error.

EXAMPLES
       The catch command may be used in an if to branch based on the success of a script.

	      if { [catch {open $someFile w} fid] } {
		  puts stderr "Could not open $someFile for writing\n$fid"
		  exit 1
	      }
       The  catch  command  will  not  catch  compiled syntax errors.  The first time proc foo is
       called, the body will be compiled and a Tcl error will be generated.

	      proc foo {} {
		  catch {expr {1 +- }}
	      }

SEE ALSO
       error(n), break(n), continue(n)

KEYWORDS
       catch, error

Tcl					       8.0					 catch(n)


All times are GMT -4. The time now is 02:56 PM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
UNIX.COM Login
Username:
Password:  
Show Password