gpt4 book ai didi

python:如果遇到异常则重试X次,如果没有则退出

转载 作者:太空宇宙 更新时间:2023-11-03 15:46:16 27 4
gpt4 key购买 nike

现在,如果连接成功,它会工作一次,但如果遇到异常,它会不会按照我的意愿重试,只是抛出:

Will retry: [Errno 111] Connection refused

如果所有尝试均未成功,则应返回 False;如果至少有一次尝试返回答案,则应返回 True

似乎需要“while”有些复杂,例如

for attempt in range(attempts) and while True

这是我的代码:

attempts = 10
for attempt in range(attempts):
try:
conn = httplib.HTTPConnection("server:80", timeout=5)
conn.request("GET","/url")
r = conn.getresponse()
except socket.error, serr:
print("Will retry: %s" % serr)
conn.close()
else:
print("OK")
finally:
return False

我也尝试过:

for attempt in range(attempts):
while True:
try:

相同的结果...

最佳答案

尝试在 while 循环内使用计数器和标志。

def funct():
flag = False
counter = 0
while True:
counter += 1
try:
conn = httplib.HTTPConnection("server:80", timeout=5)
conn.request("GET","/url")
r = conn.getresponse()
flag = True
break
except socket.error, serr:
print("Will retry: %s" % serr)
conn.close()
if counter>9:
break
return flag

关于python:如果遇到异常则重试X次,如果没有则退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41726887/

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