Provided by: manpages-zh_1.5.2-1_all bug

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  捕獲所有的例外,如同錯誤一樣,包括了由  breakcontinue
       生成的例外。唯一不捕獲的錯誤是在編譯稿本時發現的語法錯誤。這是因為
       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
              }
       catch        命令不捕捉編譯後的語法錯誤。第一次調用       proc      foo
       時,(過程)體將被編譯並且生成一個  Tcl 錯誤。

              proc foo {} {
                  catch {expr {1 +- }}
              }

關鍵字 KEYWORDS
       catch, error

[中文版維護人]
       寒蟬退士

[中文版最新更新]
       2001/06/21

《中國 Linux 論壇 man 手冊頁翻譯計劃》:
       http://cmpp.linuxforum.net