如何使用捕捉

问题描述:

到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所有解释。

+1

在TCL 8.6你甚至得到了['try'](http://www.tcl.tk/man/tcl8.6/TclCmd/try.htm)命令,该命令也可以是有用的。 try'的'的使用是很容易,它看起来(通常'尝试{...}在错误味精{$放味精}')。还要注意,Tcl构建时不像Java或.Net,而是展开时的错误堆栈。 – 2013-03-22 20:08:42