You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python字典访问缺失键时如何实现明确的错误提示?

实现字典缺失键的明确错误提示

以下是几种实现自定义明确错误提示的方案,根据你的使用场景选择即可:

方案1:捕获KeyError输出自定义提示

通过try-except块捕获默认的KeyError,替换为更易懂的提示信息:

# 初始化字典
d = {'a': 1, 'b': 2}
target_key = 'c'

print(f"The value associated with '{target_key}' is : ")
try:
    print(d[target_key])
except KeyError:
    print(f"错误:键 '{target_key}' 不存在于当前字典中!")

运行输出:

The value associated with 'c' is : 
错误:键 'c' 不存在于当前字典中!

方案2:用dict.get()直接返回提示

如果不需要抛出异常,而是直接返回提示文本,可用字典内置的get()方法:

# 初始化字典
d = {'a': 1, 'b': 2}
target_key = 'c'

result = d.get(target_key, f"错误:键 '{target_key}' 不存在于字典中!")
print(f"The value associated with '{target_key}' is : {result}")

运行输出:

The value associated with 'c' is : 错误:键 'c' 不存在于字典中!

方案3:自定义字典类(复用场景)

如果需要在多处使用带自定义错误的字典,可以继承dict重写__getitem__方法:

class CustomDict(dict):
    def __getitem__(self, key):
        try:
            return super().__getitem__(key)
        except KeyError:
            raise KeyError(f"错误:键 '{key}' 不存在!当前字典的键为:{list(self.keys())}") from None

# 使用自定义字典
d = CustomDict({'a': 1, 'b': 2})
target_key = 'c'

print(f"The value associated with '{target_key}' is : ")
print(d[target_key])

运行后抛出的异常信息:

The value associated with 'c' is : 
Traceback (most recent call last):
  File "test.py", line 12, in <module>
    print(d[target_key])
KeyError: "错误:键 'c' 不存在!当前字典的键为:['a', 'b']"

内容的提问来源于stack exchange,提问作者Remi_TRish

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 21:05:24