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的示例。

相關文章
相關標籤/搜索