gpt4 book ai didi

python - 用于更多描述性异常的异常设计模式

转载 作者:太空宇宙 更新时间:2023-11-04 05:23:16 24 4
gpt4 key购买 nike

<分区>

什么是向 Python 异常添加额外信息的好方法

例如我有嵌套的字典

d = {'Bob':{'lastname':'Smith'}, 'Sally':{}}

如果我像这样访问字典,我会得到我想要的姓氏

name = 'Bob'
value = 'lastname'
print(d[name][value])

Smith

如果我尝试访问 Sally 的姓氏,我也会得到我想要的,这是一个 KeyError

name = 'Sally'
value = 'lastname'
print(d[name][value])

KeyError: 'lastname'

但是我的问题是这个异常非常难以描述,所以我的代码现在看起来像这样

try:
name = 'Sally'
value = 'lastname'
print(d[name][value])
except KeyError:
raise KeyError("{0} has no {1}".format(name, value))

KeyError: Sally has no lastname

这给了我正在寻找的描述性错误,但我想知道这个实现是否是 pythonic 的。有没有更好的表达方式?我已经尝试查看 python 文档和其他常用包,但没有发现至少我能看到的结论

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com