gpt4 book ai didi

python - 如何在 Python 中捕获具有特定错误消息的异常?

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

当我有两个属于相同异常类但错误消息不同的 Python 异常时,我该如何分别捕获它们?

对于特定的用例:我正在使用 Facepy library点击 Facebook Graph API。当 API 返回与 Oauth 无关的错误时,Facepy 引发 facepy.exceptions.FacebookError 并传递 Facebook API 给出的错误消息。

我一直遇到两个不同的错误,我想以不同的方式对待它们,解析它们的唯一方法是错误消息,但我不知道如何编写我的 except子句——这里是伪代码:

try: 
#api query

except facepy.exceptions.OAuthError and error_message = 'object does not exist':
# do something

except facepy.exceptions.OAuthError and error_message = 'Hit API rate limit':
# do something else

如何编写这些 except 子句来触发异常和错误消息?

最佳答案

假设异常的错误消息在 error_message 属性中(它可能是其他东西——查看异常的 __dict__ 或源代码来找出):

try: 
#api query

except facepy.exceptions.OAuthError as e:
if e.error_message == "object does not exist":
print "Do X"
elif e.error_message == "Hit API rate limit":
print "Do Y"
else:
raise

关于python - 如何在 Python 中捕获具有特定错误消息的异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20188573/

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