dict get 命令可能引发错误
set alpha {a 1 b 2 c 3}
dict get $alpha b
# => 2
dict get $alpha d
# (ERROR) key "d" not known in dictionary
如果 dict get
用于检索缺失键的值,则会引发错误。要防止错误,请使用 dict exists
:
if {[dict exists $alpha $key]} {
set result [dict get $alpha $key]
} else {
# code to deal with missing key
}
如何处理丢失的密钥当然取决于具体情况:一种简单的方法是将 result
设置为默认的空值。
如果代码从不尝试检索字典中的其他键,dict get
当然不会失败。但是对于任意键,dict get
是一个需要保护的操作。最好通过 dict exists
测试,虽然异常捕获也会起作用。