にアクセスすることはできません。は、なぜ私は、次のコードを持っているのerrorInfoとerrorCodeを
$ cat ~/tmp/2.tcl
set zero 0
proc p1 {} {
if {[catch {expr 1/$zero} err]} {
puts "errorCode=$errorCode"
puts "errorInfo=$errorInfo"
}
}
p1
私はそれを調達するとき、私はのerrorCodeにアクセスするときにエラーが出ます:
$ 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')。 「ゼロ」を修飾する必要があることに注意してください。 –