gpt4 book ai didi

python - 使用额外信息重新引发 HTTPError

转载 作者:太空狗 更新时间:2023-10-30 00:28:42 27 4
gpt4 key购买 nike

如果是 404,我想捕获带有额外信息的 urllib2.HTTPError:

try:
data = urlopen(url)
except HTTPError, e: # Python 2.5 syntax
if e.code == 404:
raise HTTPError('data not found on remote')
else:
raise

但这不起作用,因为 HTTPError 的 init 有多个参数,这些参数没有记录。如果它确实有效,它会丢失回溯和原始消息。我也试过了

if e.code == 404:
e.message = 'data not found on remote: %s' % e.message
raise

但这只是在没有额外信息的情况下重新引发了异常。我该怎么办?

最佳答案

HTTPError 已经包含了你需要的所有信息,你可以像这样简单地重新抛出它

raise HTTPError(e.url, e.code, "your message.", e.hdrs, e.fp)

关于python - 使用额外信息重新引发 HTTPError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6174560/

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