Error handling 如何使用catch将屏幕上的错误捕获到TCL中的变量中
在屏幕上显示错误,例如Error handling 如何使用catch将屏幕上的错误捕获到TCL中的变量中,error-handling,tcl,catch-block,Error Handling,Tcl,Catch Block,在屏幕上显示错误,例如 puts $c #error on terminal : can't read "c": no such variable catch {puts $c} err puts $err # value of err 1 是否有任何方法可以捕获中的实际错误消息 TCL除了变量err中的信号之外。是。阅读::errorInfo或:errorCode全局变量以获得堆栈跟踪和相应的机器可解析“POSIX error”三元素列表 自Tcl 8.5以来,还可
puts $c
#error on terminal : can't read "c": no such variable
catch {puts $c} err
puts $err # value of err 1
是否有任何方法可以捕获中的实际错误消息
TCL除了变量err中的信号之外。是。阅读
::errorInfo
或:errorCode
全局变量以获得堆栈跟踪和相应的机器可解析“POSIX error”三元素列表
自Tcl 8.5以来,还可以在变量名之后将字典名传递给catch
,以接收结果,并且该字典将填充许多可以通过我上面描述的“经典”错误变量获得的内容,等等
这些都在中进行了解释。是。阅读
::errorInfo
或:errorCode
全局变量以获得堆栈跟踪和相应的机器可解析“POSIX error”三元素列表
自Tcl 8.5以来,还可以在变量名之后将字典名传递给catch
,以接收结果,并且该字典将填充许多可以通过我上面描述的“经典”错误变量获得的内容,等等
在tcl 8.6中,您甚至得到了命令,这也很有用。try
的用法比看起来更简单(通常的try{…}on error msg{put$msg}
)。还要注意的是,Tcl不像Java或.Net那样在展开时构建错误堆栈。在Tcl 8.6中,您甚至得到了命令,这也很有用。try
的用法比看起来更简单(通常的try{…}on error msg{put$msg}
)。还要注意的是,Tcl在展开时构建了不同于Java或.Net的错误堆栈。