redhat man page for catch

Query: catch

OS: redhat

Section: n

Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar

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 exe- cute 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 interpret- ing 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 $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 +- }} }
KEYWORDS
catch, error Tcl 8.0 catch(n)
Related Man Pages
break(1t) - opensolaris
catch(n) - mojave
catch(n) - centos
catch(n) - opendarwin
catch(n) - suse
Similar Topics in the Unix Linux Community
executing a script for a certain amount of time
simple unpack script
How to use catch, try and final in bash script
bad interpreter when running script
Shall script use and understanding