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 测试,虽然异常捕获也会起作用。