## Tcl9.0.3/Tk9.0.3 Documentation > Tcl C API > AddErrInfo

### Tcl/Tk Applications | Tcl Commands | Tk Commands | [incr Tcl] Package Commands | SQLite3 Package Commands | TDBC Package Commands | tdbc::mysql Package Commands | tdbc::odbc Package Commands | tdbc::postgres Package Commands | tdbc::sqlite3 Package Commands | Thread Package Commands | Tcl C API | Tk C API | [incr Tcl] Package C API | TDBC Package C API

  NAME
    Tcl_GetReturnOptions, Tcl_SetReturnOptions, Tcl_AddErrorInfo, Tcl_AppendObjToErrorInfo, Tcl_AddObjErrorInfo, Tcl_SetObjErrorCode, Tcl_SetErrorCode, Tcl_SetErrorLine, Tcl_GetErrorLine, Tcl_PosixError, Tcl_LogCommandInfo — 不都合及びその他の返り指定の情報を取出すか記録する retrieve or record information about errors and other return options
  SYNOPSIS
    #include <tcl.h>
    Tcl_Obj *
    Tcl_GetReturnOptions(interp, code)
    int
    Tcl_SetReturnOptions(interp, options)
    Tcl_AddErrorInfo(interp, message)
    Tcl_AppendObjToErrorInfo(interp, objPtr)
    Tcl_AddObjErrorInfo(interp, message, length)
    Tcl_SetObjErrorCode(interp, errorObjPtr)
    Tcl_SetErrorCode(interp, element, element, ... (char *)NULL)
    int
    Tcl_GetErrorLine(interp)
    Tcl_SetErrorLine(interp, lineNum)
    const char *
    Tcl_PosixError(interp)
    Tcl_LogCommandInfo(interp, script, command, commandLength)
  引数 ARGUMENTS
    Tcl_Interp *interp (入力in)
    int code ()
    Tcl_Obj *options ()
    const char *message (入力in)
    Tcl_Obj *objPtr (入力in)
    Tcl_Size length (入力in)
    Tcl_Obj *errorObjPtr (入力in)
    const char *element (入力in)
    int lineNum ()
    const char *script (入力in)
    const char *command (入力in)
    Tcl_Size commandLength (入力in)
  説明 　DESCRIPTION
  参照個数管理 REFERENCE COUNT MANAGEMENT
  SEE ALSO
  KEYWORDS

### NAME

Tcl_GetReturnOptions, Tcl_SetReturnOptions, Tcl_AddErrorInfo, Tcl_AppendObjToErrorInfo, Tcl_AddObjErrorInfo, Tcl_SetObjErrorCode, Tcl_SetErrorCode, Tcl_SetErrorLine, Tcl_GetErrorLine, Tcl_PosixError, Tcl_LogCommandInfo — 不都合及びその他の返り指定の情報を取出すか記録する retrieve or record information about errors and other return options

### SYNOPSIS

#include <tcl.h>
Tcl_Obj *
Tcl_GetReturnOptions(interp, code)
int
Tcl_SetReturnOptions(interp, options)
Tcl_AddErrorInfo(interp, message)
Tcl_AppendObjToErrorInfo(interp, objPtr)
Tcl_AddObjErrorInfo(interp, message, length)
Tcl_SetObjErrorCode(interp, errorObjPtr)
Tcl_SetErrorCode(interp, element, element, ... (char *)NULL)
int
Tcl_GetErrorLine(interp)
Tcl_SetErrorLine(interp, lineNum)
const char *
Tcl_PosixError(interp)
Tcl_LogCommandInfo(interp, script, command, commandLength)

### 引数 ARGUMENTS

Tcl_Interp *interp (入力in)
  情報を記録すべき解釈実行機構｡ Interpreter in which to record information.

int code ()
  記述譜の評価から戻る遂行番号｡ The code returned from script evaluation.

Tcl_Obj *options ()
  返り指定項目の辞書｡　 A dictionary of return options.

const char *message (入力in)
  Tcl_AddErrorInfo については､これは -errorinfo 返り追加指定値に追加する為の簡便な C 文字列である｡ Tcl_AddObjErrorInfo については､ -errorinfo 返り追加指定値に追加すべき文字列を含む長さ配列バイトの最初のバイトを指す｡このバイト配列は長さ length が負値でない限り埋め込まれたヌルバイトを含むかもしれない｡ For Tcl_AddErrorInfo, this is a conventional C string to append to the -errorinfo return option. For Tcl_AddObjErrorInfo, this points to the first byte of an array of length bytes containing a string to append to the -errorinfo return option. This byte array may contain embedded null bytes unless length is negative.

Tcl_Obj *objPtr (入力in)
  -errorinfo 戻り指定に追記すべき Tcl_Obj 値形式の伝言文｡　 A message to be appended to the -errorinfo return option in the form of a Tcl_Obj value.

Tcl_Size length (入力in)
  戻り指定項目 -errorinfo に追記する時､伝言文 message から複写されるべきバイトの個数｡もし､負ならば､最初のヌルバイト迄の全てのバイトが使用される｡　 The number of bytes to copy from message when appending to the -errorinfo return option. If negative, all bytes up to the first null byte are used.

Tcl_Obj *errorObjPtr (入力in)
  -errorcode 戻り指定項目がこの値に設定されることになる｡　 The -errorcode return option will be set to this value.

const char *element (入力in)
  -errorcode 戻り指定項目の一つの要素として記録すべき文字列｡最後の要素引数 element はNULL でなければならない｡ String to record as one element of the -errorcode return option. Last element argument must be (char *)NULL.

int lineNum ()
  不都合が生じた箇所の記述の行番号｡ The line number of a script where an error occurred.

const char *script (入力in)
  命令を含む記述譜の最初の文字の位置を指す指示子( command 以下の事)｡ Pointer to first character in script containing command (must be <= command).

const char *command (入力in)
  不都合を発生した命令の最初の文字の位置を指す指示子; scriptによって与えられた文字列の内部を指さねばならない｡ Pointer to first character in the command that generated the error; must point within the string given by script.

Tcl_Size commandLength (入力in)
  命令中のバイトの個数；負値は最初の空記号迄の全バイトの使用を意味する｡ Number of bytes in command; a negative value means use all bytes up to the first null byte.

### 説明 　DESCRIPTION

この Tcl_SetReturnOptions と Tcl_GetReturnOptions 譜は C言語の接続機能の形式であって､それぞれ return 命令と catch 命令に相当する機能を公開する｡ 　　 The Tcl_SetReturnOptions and Tcl_GetReturnOptions routines expose the same capabilities as the return and catch commands, respectively, in the form of a C interface.

Tcl_GetReturnOptions は記述譜評価に適した解釈実行機能から選択持ち帰りの辞書を取得する｡Tcl_Eval の様な実行機能が解釈実行機能の中の記述譜を評価する為に呼出される｡このような実行機能は､整数の完遂番号を戻す｡このような実行機能は､記述譜の評価によって作成した､実行結果と､持ち帰り選択の辞書､の両方を､解釈実行機能の中で解放する｡恰も Tcl_GetObjResult が戻り値を取得する様に､Tcl_GetReturnOptions は､持ち帰り選択の辞書を取得する｡整数の完遂番号は Tcl_GetReturnOptions への code 引数として渡されるので､要求された項目は全て辞書に含まれる様になる｡具体的には､ TCL_ERROR の code 値は､辞書中に確保され､鍵語の -errorinfo, -errorcode, -errorline の対応項目として現れる｡更に､ code の値と合致させる為に必要ならば､鍵語 -code と -level に対応する項目を調整する｡Tcl_GetReturnOptions によって戻される (Tcl_Obj *) は､参照勘定が零の非共有 Tcl_Obj を指している｡辞書は､どの対応項目も､共有値の検査の必要性により､記入､追加､移動､上書きされる｡参照数零のどれかの Tcl_Obj の如く､Tcl_DecrRefCount や Tcl_IncrRefCount (又は取分け Tcl_SetObjResult と Tcl_SetVar2Ex を含むそれを呼出す多くの函数の内の一つ)経由のそれへの参照の処分は呼出し側の責任である｡ Tcl_GetReturnOptions retrieves the dictionary of return options from an interpreter following a script evaluation. Routines such as Tcl_Eval are called to evaluate a script in an interpreter. These routines return an integer completion code. These routines also leave in the interpreter both a result and a dictionary of return options generated by script evaluation. Just as Tcl_GetObjResult retrieves the result, Tcl_GetReturnOptions retrieves the dictionary of return options. The integer completion code should be passed as the code argument to Tcl_GetReturnOptions so that all required options will be present in the dictionary. Specifically, a code value of TCL_ERROR will ensure that entries for the keys -errorinfo, -errorcode, and -errorline will appear in the dictionary. Also, the entries for the keys -code and -level will be adjusted if necessary to agree with the value of code. The (Tcl_Obj *) returned by Tcl_GetReturnOptions points to an unshared Tcl_Obj with reference count of zero. The dictionary may be written to, either adding, removing, or overwriting any entries in it, without the need to check for a shared value. As with any Tcl_Obj with reference count of zero, it is up to the caller to arrange for its disposal with Tcl_DecrRefCount or to a reference to it via Tcl_IncrRefCount (or one of the many functions that call that, notably including Tcl_SetObjResult and Tcl_SetVar2Ex).

Tcl_GetReturnOptions の典型的な使用方法は､記述譜の評価が TCL_ERROR を戻してきた時に､棚の追跡をすることである､この様に: A typical usage for Tcl_GetReturnOptions is to retrieve the stack trace when script evaluation returns TCL_ERROR, like so:

    int code = Tcl_EvalEx(interp, script, -1, 0);
    if (code == TCL_ERROR) {
        Tcl_Obj *options = Tcl_GetReturnOptions(interp, code);
        Tcl_Obj *key = Tcl_NewStringObj("-errorinfo", -1);
        Tcl_Obj *stackTrace;
        Tcl_IncrRefCount(key);
        Tcl_DictObjGet(NULL, options, key, &stackTrace);
        Tcl_DecrRefCount(key);
        /* Do something with stackTrace */
        Tcl_DecrRefCount(options);
    }

Tcl_SetReturnOptions は interp の選択持帰り方法を options ありに設定する｡もし options に何かの鍵に対応する無効な値が含まれていると､ TCL_ERROR が戻り､ interp の結果は適切な不都合伝言文情報が設定される｡それ以外の場合は､ options 中の鍵語 -code と -level に対応する完遂番号が戻される｡ Tcl_SetReturnOptions sets the return options of interp to be options. If options contains any invalid value for any key, TCL_ERROR will be returned, and the interp result will be set to an appropriate error message. Otherwise, a completion code in agreement with the -code and -level keys in options will be returned.

例として､Tclの return 命令自体は次の様に Tcl_SetReturnOptions で実装することができる: As an example, Tcl's return command itself could be implemented in terms of Tcl_SetReturnOptions like so:

    if ((objc % 2) == 0) { /* explicit result argument */
        objc--;
        Tcl_SetObjResult(interp, objv[objc]);
    }
    return Tcl_SetReturnOptions(interp, Tcl_NewListObj(objc-1, objv+1));

(実際は､この様には実装されていない｡内部接触権限は､バイト列命令機械語翻訳機能と､より良く適合できる代替手段を可能にしている｡) (It is not really implemented that way. Internal access privileges allow for a more efficient alternative that meshes better with the bytecode compiler.)

註意 新しく作成された Tcl_Obj は､全く参照勘定を増やさずに､ options 引数として引渡せる｡この振舞いは Tcl_SetObjResult に似ている｡ Note that a newly created Tcl_Obj may be passed in as the options argument without the need to tend to any reference counting. This is analogous to Tcl_SetObjResult.

Tcl_SetReturnOptions は､どの様な選択持ち帰り値の集合をも設定する汎用相互作用を提供しているが､非常に繁用されるのは､ほんの一握りの選択的持ち帰り値である｡中でも､ -errorinfo と -errorcode の選択持ち帰りは､命令手順が TCL_ERROR を戻す命令では特に顕著である｡-errorline 選択持帰りは記述譜を評価する命令によっても読まれ､-errorinfo 選択持ち帰りに追記した棚追跡文書内の詳細な不都合位置の情報を提供しようとする｡Tcl はより直接的にこれらの選択持ち帰り値を設定する為の､より簡単な幾つかの相互授受機能を提供している｡ 　 While Tcl_SetReturnOptions provides a general interface to set any collection of return options, there are a handful of return options that are very frequently used. Most notably the -errorinfo and -errorcode return options should be set properly when the command procedure of a command returns TCL_ERROR. The -errorline return option is also read by commands that evaluate scripts and wish to supply detailed error location information in the stack trace text they append to the -errorinfo option. Tcl provides several simpler interfaces to more directly set these return options.

-errorinfo 選択子は不具合が発生した時に進行中の動作の棚積追跡を保持し､人による可読性を意図している｡ -errorcode 選択子は機械可読性を意図した項目のリストを保持している｡ -errorcode 値中の最初の項目は生じた不具合の組を識別し(譬えば､POSIX は､POSIX システム呼出し中に不具合が生じたことを意味する)､又､追加要素は､その組に依存する情報の追加部分を保持する｡Tclに組込まれている命令に使用された -errorcode 選択子の種々の形式の詳細は､取扱説明書の errorCode 変数の項目を参照されたい｡ The -errorinfo option holds a stack trace of the operations that were in progress when an error occurred, and is intended to be human-readable. The -errorcode option holds a Tcl list of items that are intended to be machine-readable. The first item in the -errorcode value identifies the class of error that occurred (e.g., POSIX means an error occurred in a POSIX system call) and additional elements hold additional pieces of information that depend on the class. See the manual entry on the errorCode variable for details on the various formats for the -errorcode option used by Tcl's built-in commands.

-errorinfo 選択子値は､不具合が､入子状になった操作を解き解すに従い､次第に構築される｡不具合番号が Tcl_Eval 又は､記述譜を評価するどれかの実行機能に戻される度に､不具合が生じた時に実行されていた 追加の命令を記述している､-errorinfo 値に追加的文書を追記するために､Tcl_AddErrorInfo 手続函数が呼出される｡その不具合が､はるばる応用譜に戻される迄に､その中には､不具合が発生した時に進行中の活動の完全な追跡を含むことになるであろう｡ The -errorinfo option value is gradually built up as an error unwinds through the nested operations. Each time an error code is returned to Tcl_Eval, or any of the routines that performs script evaluation, the procedure Tcl_AddErrorInfo is called to add additional text to the -errorinfo value describing the command that was being executed when the error occurred. By the time the error has been passed all the way back to the application, it will contain a complete trace of the activity in progress when the error occurred.

記述譜を評価する実行機能によって自動的に供給することができるものを超えて､-errorinfo に追加的な情報を加えることが便利な場合がある｡Tcl_AddErrorInfo はこの目的のために使用することができる: その message [情報文]引数は -errorinfo 選択子に追記される追加の文字列である｡譬えば､source 命令の間に不具合が生じた時に､ 処理されているファイルの名前と､不具合が生じた行番号を記録する為に Tcl_AddErrorInfo 手続函数が呼出される｡同じように､ Tcl 手続函数の評価中に不具合が生じた時は､その手続函数名と手続函数中の行番号が記録される｡Tcl_AddErrorInfo を呼出す最良の時は処理譜評価の実行機能が TCL_ERROR を戻した直後である｡ -errorline 選択戻り値(Tcl_GetReturnOptions 経由呼出しで取得される) は､Tcl_AddErrorInfo に渡される情報文messageの有用な部分を占めることが多い｡ It is sometimes useful to add additional information to the -errorinfo value beyond what can be supplied automatically by the script evaluation routines. Tcl_AddErrorInfo may be used for this purpose: its message argument is an additional string to be appended to the -errorinfo option. For example, when an error arises during the source command, the procedure Tcl_AddErrorInfo is called to record the name of the file being processed and the line number on which the error occurred. Likewise, when an error arises during evaluation of a Tcl procedures, the procedure name and line number within the procedure are recorded, and so on. The best time to call Tcl_AddErrorInfo is just after a script evaluation routine has returned TCL_ERROR. The value of the -errorline return option (retrieved via a call to Tcl_GetReturnOptions) often makes up a useful part of the message passed to Tcl_AddErrorInfo.

Tcl_AppendObjToErrorInfo は Tcl_AddErrorInfo と代替できる同じ機能の相互作用機構である｡Tcl_AppendObjToErrorInfo が呼ばれるのは､-errorinfo 選択子に追記さるべき文字列値が､恰も Tcl_Obj の様に､文字型配列char の代わりに利用できる時である｡ Tcl_AppendObjToErrorInfo is an alternative interface to the same functionality as Tcl_AddErrorInfo. Tcl_AppendObjToErrorInfo is called when the string value to be appended to the -errorinfo option is available as a Tcl_Obj instead of as a char array.

Tcl_AddObjErrorInfo は追加の length [長さ]引数を有することを除いて Tcl_AddErrorInfo と殆ど同一である｡これにより､感心できることではないが､ message [情報文]文字列に埋込み空文字を含めることができる｡もし､ message [情報文]に零文字 U+0000 を埋め込む必要がある場合､ Tcl の通常の内部数値変換規則では零バイトの必要性を回避するように使用する必要がある｡もし､Tcl_AddObjErrorInfo 授受機構を何の問題なく使うには､負の length [長さ]値を指定することが望ましい｡ Tcl_AddObjErrorInfo is nearly identical to Tcl_AddErrorInfo, except that it has an additional length argument. This allows the message string to contain embedded null bytes. This is essentially never a good idea. If the message needs to contain the null character U+0000, Tcl's usual internal encoding rules should be used to avoid the need for a null byte. If the Tcl_AddObjErrorInfo interface is used at all, it should be with a negative length value.

手続函数 Tcl_SetObjErrorCode は呼出し者に構築されたリスト対象 errorObjPtr に -errorcode 返り指示項目を設定する為に使われる｡Tcl_SetObjErrorCode は典型的には不都合から戻る直前に起動される｡もし､ Tcl_SetObjErrorCode も Tcl_SetErrorCode も呼ばずに不具合が返されると Tcl 解釈実行機能は自動的に -errorcode 返り指示項目を NONE に設定する｡ The procedure Tcl_SetObjErrorCode is used to set the -errorcode return option to the list value errorObjPtr built up by the caller. Tcl_SetObjErrorCode is typically invoked just before returning an error. If an error is returned without calling Tcl_SetObjErrorCode or Tcl_SetErrorCode the Tcl interpreter automatically sets the -errorcode return option to NONE.

手続函数 Tcl_SetErrorCode も -errorcode 返り指示項目の設定の為に使われる｡しかし､それは記録する為に値の代りに､一つ或はそれ以上の文字列を取る｡それ以外の振舞いは､Tcl_SetObjErrorCode に似ている｡ The procedure Tcl_SetErrorCode is also used to set the -errorcode return option. However, it takes one or more strings to record instead of a value. Otherwise, it is similar to Tcl_SetObjErrorCode in behavior.

手続函数 Tcl_GetErrorLine は Tcl_GetReturnOptionsへの呼出しの負担なしに -errorline 選択返り値の整数値を読む為に使われる｡同じように､Tcl_SetErrorLine は -errorline 選択返り値の値を設定する｡ The procedure Tcl_GetErrorLine is used to read the integer value of the -errorline return option without the overhead of a full call to Tcl_GetReturnOptions. Likewise, Tcl_SetErrorLine sets the -errorline return option value.

Tcl_PosixError は POSIX 核芯呼出し内の不都合の後に -errorcode 変数を設定する｡それは､ errno C 変数の値を読み､次いで､ -errorcode 返り指示項目を POSIX 書式で設定する為に Tcl_SetErrorCode を呼出す｡呼出し側は予め errno を設定する為に Tcl_SetErrno を呼出しておかねばならない; これはある種のOSでは必須である(譬えばWindows)そこでは､ Tcl は応用譜に共有外部函数群として､或は､不都合が生じた時に､動的に積込まれた拡張として連結される｡更なる情報に就いては取扱い説明書の Tcl_SetErrno の項目を参照されたい｡ Tcl_PosixError sets the -errorcode variable after an error in a POSIX kernel call. It reads the value of the errno C variable and calls Tcl_SetErrorCode to set the -errorcode return option in the POSIX format. The caller must previously have called Tcl_SetErrno to set errno; this is necessary on some platforms (e.g. Windows) where Tcl is linked into an application as a shared library, or when the error occurs in a dynamically loaded extension. See the manual entry for Tcl_SetErrno for more information.

Tcl_PosixError は不都合についての可読性のある診断伝達文を返す(-errorcode 値の第３の要素として現れた値と同じ)｡解釈実行機能内の結果として応用譜に返される不都合伝達文の一部としてこの文字列を含むことは便利である｡ Tcl_PosixError returns a human-readable diagnostic message for the error (this is the same value that will appear as the third element in the -errorcode value). It may be convenient to include this string as part of the error message returned to the application in the interpreter's result.

Tcl_LogCommandInfo は解釈実行機能内で不都合が生じた後に起動される｡それは､不都合が生じた時に実行されていた命令に関する情報を -errorinfo 変数に追加する､そして､内部的に解釈実行機能が設定されている中に行番号が保存される｡ Tcl_LogCommandInfo is invoked after an error occurs in an interpreter. It adds information about the command that was being executed when the error occurred to the -errorinfo value, and the line number stored internally in the interpreter is set.

古い版の Tcl の中では Tcl_GetReturnOptions 処理譜はなかった｡其処には､大域 Tcl 変数の errorInfo と errorCode のみが不都合情報を取出すために置かれていた｡古い Tcl の版の為の多くの既存の命令は猶この情報をこれらの大域変数経由で利用している｡ In older releases of Tcl, there was no Tcl_GetReturnOptions routine. In its place, the global Tcl variables errorInfo and errorCode were the only place to retrieve the error information. Much existing code written for older Tcl releases still access this information via those global variables.

これらの指示項目の返り値を利用する方法として残されて運営されている大域変数を読み出す時に重要なことは､対応する指示項目の返り値が適正に設定される様な大域変数の記述を仮定しないことが肝心である｡これについては久しくのこ取扱説明書の頁の中で強調されてきたが､ここで記述した手続函数の呼び出しの方が､ Tcl_ObjSetVar2 を使った errorInfo や errorCode の直接設定よりも重要である｡ It is important to realize that while reading from those global variables remains a supported way to access these return option values, it is important not to assume that writing to those global variables will properly set the corresponding return options. It has long been emphasized in this manual page that it is important to call the procedures described here rather than setting errorInfo or errorCode directly with Tcl_ObjSetVar2.

もし､手続函数 Tcl_ResetResult が呼出されると､記述譜の評価に関わる解釈実行機能の全ての状態は､全ての指示項目返り辞書と共に､刷新される｡特に､ -errorinfo と -errorcode 指示項目も刷新される｡もし､不都合が生じていたら､ Tcl_ResetResult 呼出し は不都合の状態を消去する為に恰も何も不都合がなかったかの様な状態にさせる｡大域変数 errorInfo と errorCode は Tcl_ResetResult によって修正されないので､解釈実行機能内で見られた最近の不都合に関する情報の記録は引続き保持される｡ If the procedure Tcl_ResetResult is called, it clears all of the state of the interpreter associated with script evaluation, including the entire return options dictionary. In particular, the -errorinfo and -errorcode options are reset. If an error had occurred, the Tcl_ResetResult call will clear the error state to make it appear as if no error had occurred after all. The global variables errorInfo and errorCode are not modified by Tcl_ResetResult so they continue to hold a record of information about the most recent error seen in an interpreter.

### 参照個数管理 REFERENCE COUNT MANAGEMENT

Tcl_GetReturnOptions の結果は､ Tcl 解釈実行機能からのそれへの少なく共一つの参照を有している｡もし即座にそれを使わないなら､自己の参照に追加する為に Tcl_IncrRefCount を使うべきであろう｡ The result of Tcl_GetReturnOptions will have at least one reference to it from the Tcl interpreter. If not using it immediately, you should use Tcl_IncrRefCount to add your own reference.

Tcl_SetReturnOptions への任意追加の options 引数は Tcl 解釈実行機能によって追加された参照を有する事になる; それは零参照値により安全に呼出される｡ The options argument to Tcl_SetReturnOptions will have a reference added by the Tcl interpreter; it may safely be called with a zero-reference value.

Tcl_AppendObjToErrorInfo はその objPtr 引数のみを読む; それは参照個数を修正する事は全く無い｡ Tcl_AppendObjToErrorInfo only reads its objPtr argument; it does not modify its reference count at all.

Tcl_SetObjErrorCode への errorObjPtr 引数は Tcl 解釈実行機能によって追加された参照を有することになる; それは零参照値により安全に呼出される｡ The errorObjPtr argument to Tcl_SetObjErrorCode will have a reference added by the Tcl interpreter; it may safely be called with a zero-reference value.

### SEE ALSO

Tcl_DecrRefCount, Tcl_IncrRefCount, Tcl_Interp, Tcl_ResetResult, Tcl_SetErrno, errorCode, errorInfo

### KEYWORDS

error, value, value result, stack, trace, variable
Copyright © 1989-1993 The Regents of the University of California.
Copyright © 1994-1997 Sun Microsystems, Inc.