如果我使用不带参数的proc名称
,如何将标准错误消息传递到本地消息我想要decalre我自己的错误信息,而不是像
这样的全局错误消息proc adder {a b} {
global errorInfo
puts "The stack trace was this:\n$errorInfo"
puts "I got an error in an event: adder arguments $a $b"
}
- >
adder
Error: wrong # args: should be "adder a b"
# (TCL) (this one is Standard error message)
我需要上面的错误消息应为“Error in selecting arguments ex: adder a b
”
答案 0 :(得分:0)
要使用过程获取自定义参数处理,请使用args
捕获所有参数,然后自行进行处理。
proc adder {args} {
if {[llength $args] != 2} {
return -code error "Error in selecting arguments ex: adder a b"
}
lassign $args a b
# ...
}
如果您使用的是Tcl 8.4,请使用此代替lassign $args a b
:
foreach {a b} $args break
(你可以使用一个空体而不是break
,但是如果你有更多的参数比你预期的那样,这是一个很好的习惯。这里不会发生{{1检查,但良好的习惯是良好的习惯!)