1
我有以下proc,它基本上在dictonary中查找兩個值,並將它們作爲列表返回。在簡單的tcl proc中使用catch的問題
proc GetAllow { PID Ply } {
# read a dictonary from a file
catch {
append PlyAndDirXt $Ply "_xt"
append PlyAndDirYt $Ply "_yt"
set x_allow_tens [ dict get $allowables $PID $PlyAndDirXt ]
set y_allow_tens [ dict get $allowables $PID $PlyAndDirYt ]
set allowables [ list $x_allow_tens $y_allow_tens ]
} res
if { $res == 0 } {
return $allowables
}
if { $res != 0 } {
return 999
}
}
據我瞭解 「捕捉」 如果一切順利$資源應該是0 = TCL_OK。在這種情況下,我希望proc返回$ allowables列表。 如果由於沒有匹配的鍵而在字典中找不到值。我希望它返回999.但我總是回到999。我在這裏做錯了什麼?