繁体   English   中英

如何在 python 中出现 keyerror 异常时继续尝试阻止

[英]How to continue try block when on exception with keyerror in python

    try:
        key1 = val1
        key2 = val2
        key3 = val3
    except KeyError:
        pass
    finally:
        createTask()

在上面的示例中,createTask() 循环运行并且每次运行时键都会更改,如果特定运行的 key1 处存在 KeyError,如何继续到 key2?

也许这会做的工作:

for key, val in zip([k1, k2, k3], [v1, v2, v3]):
    try:
        key = val
    except KeyError:
        pass
    finally:
        createTask()

由于您只是传递 KeyError,因此您可以使用dict get来避免触发KeyError 然后,您只需确保createTask()足够聪明,可以检测到这种情况。

    key1 = your_dict.get(val1, None)
    key2 = your_dict.get(val2, None)
    key3 = your_dict.get(val3, None)
    createTask()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM