我想在找到像这样的
这样的异常时多次执行test
函数
try:
test()
except:
try:
test()
except:
try:
test()
except Exception,e:
logger.info(e)
这种情况将在我请求网址并获取网址响应时 因为当您只请求一次时,目标Web服务器可能会响应一些不良数据 这么多的话要做到这一点,而不是pythonic实现 有没有一些pythonic风格呢?
答案 0 :(得分:7)
for _ in range(5):
try:
test()
except SomeError:
pass
else:
break
else:
#All tries failed, do something.
logger.info(...)
答案 1 :(得分:1)
试试这个:
for i in xrange(3):
try:
test()
except Exception, e:
if i == 3:
# handle exception
# ...
答案 2 :(得分:1)
while True:
try:
test()
break
except Exception, e:
logger.info(e)
查看Handling Exceptions上的Python文档。
答案 3 :(得分:1)
for i in range(3):
try:
test()
except Exception, e:
if i==2:
logger.info(e)