gpt4 book ai didi

Python 异常处理 - 避免编写 30+ try except block

转载 作者:太空宇宙 更新时间:2023-11-03 12:58:35 24 4
gpt4 key购买 nike

我有一个从 xml 填充的字典。字典有很多键值对。我必须使用该字典中的值填充自定义对象。如果字典中的一个键不存在或值不是预期类型,我想捕获异常,记录哪个键并继续执行。有没有比用 try expect block 包围每一行更好的方法。具体来说,我想避免这种语法,它可以满足我的需要,但我想知道是否有更有效的解决方案:

try:
my_object.prop1 = dictionary['key1']
except Exception as e:
log.write('key1')

try:
my_object.prop2 = dictionary['key2']
except Exception as e:
log.write('key2')

try:
my_object.prop3 = dictionary['key3']
except Exception as e:
log.write('key3')

....

最佳答案

以编程方式执行。

props_keys = {
'prop1': 'key1'
'prop2': 'key2',
'prop3': 'key3'
}

for prop, key in props_keys.iteritems():
try:
setattr(myobj, prop, mydict[key])
except KeyError:
log(key)

关于Python 异常处理 - 避免编写 30+ try except block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31022208/

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