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
測試,雖然異常捕獲也會起作用。