重新启动什么,只是用一个
while循环 之外 的
try。例如:
def foo(): while True: try: foo2() except: pass else: break
而且,如果您想将异常传递给整个链,只需在外部函数而不是内部函数中执行此操作:
def queryRepeatedly(): while True: while True: try: foo() bar() baz() except: pass else: break time.sleep(15)def foo(): foo2()
所有的缩进有点难以理解,但是很容易重构它:
def queryAttempt() foo() bar() baz()def queryonce(): while True: try: queryAttempt() except: pass else: breakdef queryRepeatedly(): while True: queryonce() time.sleep(15)
但是如果您考虑一下,也可以将两个
while循环合并为一个。使用
continue可能会有些混乱,但是请看您是否更喜欢它:
def queryRepeatedly(): while True: try: foo() bar() baz() except: continue() time.sleep(15)



