我有以下代碼:爲什麼我不能訪問errorInfo中和的errorCode
$ cat ~/tmp/2.tcl
set zero 0
proc p1 {} {
if {[catch {expr 1/$zero} err]} {
puts "errorCode=$errorCode"
puts "errorInfo=$errorInfo"
}
}
p1
當我採購它,我得到錯誤訪問錯誤碼:
$ tclsh ~/tmp/2.tcl
can't read "errorCode": no such variable
while executing
"puts "errorCode=$errorCode""
(procedure "p1" line 3)
invoked from within
"p1"
(file "~/tmp/2.tcl" line 9)
我試圖改變到$ :: errorCode,但沒有幫助。
你能看到有什麼問題嗎?
一旦變量名被限定(例如':: errorCode'而不是'errorCode'),對我來說工作正常。請注意,您還需要限定'zero'。 –