📄 catch.n
字号:
'\"'\" Copyright (c) 1993-1994 The Regents of the University of California.'\" Copyright (c) 1994-1996 Sun Microsystems, Inc.'\"'\" See the file "license.terms" for information on usage and redistribution'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.'\" '\" RCS: @(#) $Id: catch.n,v 1.5 2000/09/07 14:27:46 poenitz Exp $'\" .so man.macros.TH catch n "8.0" Tcl "Tcl Built-In Commands".BS'\" Note: do not modify the .SH NAME line immediately below!.SH NAMEcatch \- Evaluate script and trap exceptional returns.SH SYNOPSIS\fBcatch\fI script \fR?\fIvarName\fR?.BE.SH DESCRIPTION.PPThe \fBcatch\fR command may be used to prevent errors from aborting commandinterpretation. \fBCatch\fR calls the Tcl interpreter recursively toexecute \fIscript\fR, and always returns without raising an error,regardless of any errors that might occur while executing \fIscript\fR..PPIf \fIscript\fR raises an error, \fBcatch\fR will return a non-zero integervalue corresponding to one of the exceptional return codes (see tcl.hfor the definitions of code values). If the \fIvarName\fR argument isgiven, then the variable it names is set to the error message frominterpreting \fIscript\fR..PPIf \fIscript\fR does not raise an error, \fBcatch\fR will return 0(TCL_OK) and set the variable to the value returned from \fIscript\fR..PPNote that \fBcatch\fR catches all exceptions, including thosegenerated by \fBbreak\fR and \fBcontinue\fR as well as errors. Theonly errors that are not caught are syntax errors found when thescript is compiled. This is because the catch command only catcheserrors during runtime. When the catch statement is compiled, thescript is compiled as well and any syntax errors will generate a Tclerror. .SH EXAMPLESThe \fBcatch\fR command may be used in an \fBif\fR to branch based onthe success of a script..CSif { [catch {open $someFile w} fid] } { puts stderr "Could not open $someFile for writing\\n$fid" exit 1}.CEThe \fBcatch\fR command will not catch compiled syntax errors. Thefirst time proc \fBfoo\fR is called, the body will be compiled and aTcl error will be generated. .CSproc foo {} { catch {expr {1 +- }}}.CE.SH "SEE ALSO" error(n), break(n), continue(n).SH KEYWORDScatch, error
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -