errorCode
此变量保存Tcl解释器最近产生的错误设置的返回选项-errorcode的值。变量值为一个列表,以易于程序处理的形式表示错误的额外信息。列表的第一个元素标识了错误的类型并决定列表剩余部分的格式。应用程序可以自定义信息格式。Tcl支持的错误类型如下:
ARITH
ARITH code msg
当出现算术错误时,使用这种格式。code标识了确切的错误,msg提供了人类可能的错误信息。code可选值有:DIVZERO(除以0)、DOMAIN(值在函数定义域之外)、IOVERFLOW(整数溢出)、OVERFLOW(浮点溢出)、
UNKNOWN(未知错误)。
CHILDKILLED
CHILDKILLED pid sigName msg
当子进程因为一个信号而被终止时,使用这种格式。pid为进程标识符。sigName是导致进程终止的信号的符号名称,有效值包含在signal.h中。msg是一条简短的人类可读的信号描述信息。
CHILDSTATUS
CHILDSTATUS pid code
当子进程以非零退出状态退出时,使用这种格式。pid为进程标识符。code为进程返回的退出代码。
CHILDSUSP
CHILDSUSP pid sigName msg
当子进程因为一个信号而被挂起时,使用这种格式。pid为进程标识符。sigName是导致进程挂起的信号的符号名称,有效值包含在signal.h中。msg是一条简短的人类可读的信号描述信息。
NONE
NONE
当错误返回的信息除了错误之外没有其他额外信息时,使用这种格式。
POSIX
POSIX errName msg
如果错误发生在POSIX内核调用期间,使用这种格式。errName为发生错误的符号名称。有效值包含在errno.h中。msg为人类可读的errName描述信息。
如果想要设置errorcode选项,需要使用库程序 Tcl_SetObjErrorCode、Tcl_SetReturnOptions和Tcl_PosixError或者return命令的-errorcode选项。
errorInfo
此变量保存Tcl解释器最近产生的错误设置的返回选项-errorinfo的值。此变量值为一行或多行最近错误发生时正在执行的Tcl命令和过程。错误发生时调用的各种嵌套Tcl命令以堆栈跟踪的形式显示。