table of contents
other languages
catch(3tcl) | Tcl Built-In Commands | catch(3tcl) |
NAME¶
catch - 對腳本求值並追蹤異常返回總覽 SYNOPSIS¶
catch script ?varName?描述 DESCRIPTION¶
catch 命令被用於防止出錯導致的終止命令解釋。Catch 遞歸的調用 Tcl 解釋器來執行 script,並且不顧在執行 script 期間可能發生的任何錯誤,它總是返回而不引發(raise)任何錯誤。如果 script 引發一個錯誤,catch 將返回一個非零的整數值,相應於異常返回代碼中的一個(參見 tcl.h 來找到代碼值的定義)。如果給出了 varName 參數,則它所指名的變量被設置成從解釋 script 得到的錯誤消息。
如果 script 不引發任何錯誤,catch 將返回 0(TCL_OK)並設置這個變量爲腳本返回的值。
注意 catch 捕獲所有的例外,如同錯誤一樣,包括了由 break 和 continue 生成的例外。唯一不捕獲的錯誤是在編譯腳本時發現的語法錯誤。這是因爲 catch 命令只捕捉運行時的錯誤。當 catch 語句被編譯後,腳本同樣要被編譯,並且任何錯誤都將生成一個 Tcl 錯誤。
EXAMPLES¶
catch 命令可在一個 if 中使用,基於一個腳本的(是否)成功而(進行)分支(branch)。if { [catch {open $someFile w} fid] } { puts stderr "Could not open $someFile for writing\n$fid" exit 1 }
proc foo {} { catch {expr {1 +- }} }
關鍵字 KEYWORDS¶
catch, error[中文版維護人]¶
寒蟬退士[中文版最新更新]¶
2001/06/21《中國 Linux 論壇 man 手冊頁翻譯計劃》:¶
跋¶
本頁面中文版由中文 man 手冊頁計劃提供。中文 man 手冊頁計劃:../../man-pages-zh/manpages-zh
8.0 | Tcl |