根据Tcl catch命令的帮助页面,我尝试使用指定的结果变量,如TCL_OK或TCL_ERROR。但是,应该如何访问这些变量的语法存在一些问题。有没有人有使用这些变量而不是幻数的代码示例?
发布于 2012-08-16 04:48:19
根据我的经验,您希望使用数值,而不是名称。在C api中编程时会使用这些名称,但在Tcl中,只使用数字。
set code [catch {
my script
} result]
switch -exact -- $code {
0 {
puts "normal command completion"
}
1 {
puts "code threw an error (ie: error 'wtf')"
}
2 {
puts "code used 'return' command normally"
}
3 {
puts "code used 'break' command"
}
4 {
puts "code used 'continue' command"
}
}https://stackoverflow.com/questions/11976316
复制相似问题