return

ReferenceTOPKeywords

コマンド名

return - プロシージャから戻ります。

構文

return ?-code code? ?-errorinfo info? ?-errorcode code? ?string?

解説

string を戻り値として、現在のプロシージャ(あるいは、トップレベルコマンドや source コマンド)から直ちにリターンします。 string が指定されなければ、空文字列が結果として返されます。

例外的リターン

-codeオプションが指定されない通常の場合は、プロシージャは正常にリターンします(その完了コードはTCL_OKである) 。-codeオプションはプロシージャからの例外的リターンを生成するのに使えます。 code は以下の値のいずれかを持ちます。

ok
error
return
break
continue
value
ok
正常リターン。このオプションが省略されたのと同じです。
 
error
エラーリターン。 errorInfoerrorCode変数の操作を除いて、プロシージャを終了させるために使用されるerrorコマンドと同じ(下述を参照)です。

return
現在のプロシージャは完了コードTCL_RETURNで返します。呼び出したプロシージャも同時に終了します。

break
現在のプロシージャは完了コードTCL_BREAKで返します。現在のプロシージャを呼び出したコードのもっとも内側のネストしたループを終了させます。

continue
現在のプロシージャはTCL_CONTINUEで返します。現在のプロシージャを呼び出したコードのもっとも内側のネストしたループにある現在の繰り返しを終了させます。

value
Value は整数でなければなりません。これは現在のプロシージャの完了コードとして返されます。

 -codeオプションはめったに使われません。これは、新しい制御構造を実現するプロシージャが例外状況を呼び出し側に反映させるために提供されます。

2つの追加オプション、-errorinfo-errorcodeは、エラーが返される際に追加的な情報を提供するために使われます。これ らのオプションはcode errorでないと無視されます。

-errorinfoオプションはerrorInfo変数のための初期のスタックトレースを指定します。 これが指定されない場合、errorInfoに残されるスタックトレースには、プロシージャへのコールと、スタックの高いレベル(の内容)が含まれるだけで、プロシージャ内で発生したエラーの文脈についてのいかなる情報も含まれません。一般的にinfoの値はcatchコマンドがプロシージャの内部でエラーを補足した後のerrorInfoに残された値から取得されます。 

-errorcodeオプションが指定されると、code errorCode変数に値を提供します。このオプションが指定されない場合のerrorCodeのデフォルトはNONEです。

参照

break, continue, error, proc

キーワード

break, continue, error, procedure, return


Copyright © 1993 The Regents of the University of California. Copyright © 1994-1996 Sun Microsystems, Inc. Copyright © 1995-1997 Roger E. Critchlow Jr.