如何使用捕捉
问题描述:
到grep屏幕上的错误虽然赶上捕获错误在屏幕上为变量TCL例如如何使用捕捉
puts $c
#error on terminal : can't read "c": no such variable
catch {puts $c} err
puts $err # value of err 1
有没有办法从可变信号 TCL赶上实际的错误信息分开呃。
答
是。阅读::errorInfo
或::errorCode
全局变量来获得堆栈跟踪和机器可解析“POSIX错误”三元素列表,相应地。
由于Tcl 8.5,也可以将字典的名称传递给catch
以接收结果的变量名称,该字典将填充大部分可通过“经典”错误变量获得的内容我上面描述,等等。
这在the catch
manual page所有解释。
在TCL 8.6你甚至得到了['try'](http://www.tcl.tk/man/tcl8.6/TclCmd/try.htm)命令,该命令也可以是有用的。 try'的'的使用是很容易,它看起来(通常'尝试{...}在错误味精{$放味精}')。还要注意,Tcl构建时不像Java或.Net,而是展开时的错误堆栈。 – 2013-03-22 20:08:42