gpt4 book ai didi

python - 在 try/except 子句中传递字典

转载 作者:行者123 更新时间:2023-12-03 23:59:59 25 4
gpt4 key购买 nike

我有一个用例需要在 Python 3.x 的 try/exception 子句中传递字典
可以使用 str() 作为字符串访问错误消息函数,但我不知道谁能把它当作字典。

try:
raise RuntimeError({'a':2})
except Exception as e:
error = e
print(error['a'])
e是一个 RuntimeError 对象,我找不到任何以原始格式返回消息的方法。

最佳答案

异常将它们的 init args 存储在“args”属性中:

try: 
raise RuntimeError({'a':2})
except Exception as e:
(the_dict,) = e.args
print(the_dict["a"])
话虽如此,如果您想要一个具有关联结构化键/值上下文的异常类型,最好为此目的定义您自己的自定义异常子类,而不是重新使用标准库的 RuntimeError 直接地。那是因为如果您捕获这样的异常并尝试解压字典上下文,您将需要检测并处理您的 RuntimeErrorRuntimeError 不同的实例标准库可能已经提出的实例。完全使用不同的类型将使在代码中区分这两种情况更加清晰和容易。

关于python - 在 try/except 子句中传递字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63366430/

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