有没有更好的方法在python中多次尝试一个函数?

tim*_*ger 0 python try-catch

我想test在发现这样的异常时多次执行一个函数

    try:
        test()
    except:
        try:
            test()
        except:
            try:
                test()
            except Exception,e:
                logger.info(e)
Run Code Online (Sandbox Code Playgroud)

这种情况下,当我请求一个url并获取url响应时,
因为当你只请求一次时,目标Web服务器可能会响应一些不良数据,
那么这么多单词要做到这一点,而不是pythonic实现
是否有一些pythonic样式来执行此操作?

utd*_*mir 7

for _ in range(5):
    try:
        test()
    except SomeError:
        pass
    else:
        break
else:
    #All tries failed, do something.
    logger.info(...)
Run Code Online (Sandbox Code Playgroud)