tcl/tk参考——控制结构catch

tcl/tk参考——控制结构catch

转载 2015年10月10日 13:10:16spa

  • 2282

code

名称

catch - 执行脚本并捕获错误ip

语法

catch script ?resultVarName? ?optionsVarName?it

描述

catch命令用来防止出现错误而致使脚本执行终止,catch命令能够调用Tcl解释器去执行脚本,而且可以正常返回。io

若是脚本产生一个错误,catch将返回一个非0的整数,若是没有捕获到错误就返回0TCL_OK,Tcl还定义了四种异常代码:1TCL_ERROR)、2TCL_RETURN)、3TCL_BREAK)和4TCL_CONTINUE)。当执行脚本产生错误时就返回TCL_ERROR,其它的异常由returnbreakcontinue命令产生。变量

若是给出了resultVarName变元,当返回1时,存储在resultVarName中的为错误信息,若是返回0,存储在resultVarName中的为脚本运行结果。语法

若是给出了optionsVarName变元,变量里面包含有-code-level两个条目,若是返回代码不是TCL_RETURN时,-level0-code为返回的异常代码,当返回代码为TCL_RETURN时,-level-code为其它的值,详细解释见return命令。error

当返回TCL_ERROR时,三个额外的条目将会添加到optionsVarName中:-errorinfo-errorcode-errorline-errorinfo条目是产生错误的信息,-errorcode条目是关于错误的一些额外信息,存储为列表方式,-errorline指出了错误发生的位置。-errorinfo-errorcode条目都是最近发生的错误而且可使用::errorInfo::errorCode脚本

示例

catch命令能够在if命令中使用。异常

if { [catch {open $someFile w} fid] } {
puts stderr "Could not open $someFile for writing/n$fid"
exit 1
}

return命令中有更多的关于catch的示例。

相关文章
相关标签/搜索