热线电话:13121318867

登录
2019-01-19 阅读量: 784
在循环调用Python中绕过异常

import sys

from twisted.internet import reactor, defer, task

from twisted.python import log

def periodic_task():

log.msg("periodic task running")

x = 10 / 0

def periodic_task_crashed(reason):

log.err(reason, "periodic_task broken")

log.startLogging(sys.stdout)

my_task = task.LoopingCall(periodic_task)

d = my_task.start(1)

d.addErrback(periodic_task_crashed)

reactor.run()

我收到输出,它停止脚本。即使存在异常错误,也可以继续运行脚本。坦白而不是x = 10/0我正在做一些api电话。但是当出现错误时它会停止脚本。但我想要的是即使出现错误也要运行脚本并反复检查。

原来只需要只需处理exeption,使用try ...除了你知道可能会失败的代码之外的块。

def periodic_task():

log.msg("periodic task running")

try:

x = 10 / 0

except Exception as error:

# Here you should at least log the error, exceptions do not should pass silently.

pass

0.0000
0
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子