优草派  >   Python

Python异常重试如何实现?Python运行发生异常怎么自动重新执行

罗西汉            来源:优草派

在python程序运行过程之中可能会因为很多不同的原因而导致异常出现,而有些时候异常出现只是因为一些微小的错误,在下次重新运行时就不会再出现了。所以本文会来分析一个python脚本和代码运行时发生异常自动重新执行的方法,往下看看学习吧。

Python异常重试如何实现?Python运行发生异常怎么自动重新执行

一、retrying库

python第三方库retrying所实现的功能就是发生异常时会自动重新执行函数,因为该模块是作为装饰器去使用的,它必须要要放在函数上面才能够起作用。所以这也要求了需要捕获异常的代码得放在函数内才可以,而且该装饰器没有异常捕获功能,所以在函数内还需要自己去定义异常捕获语句才可以。

二、使用教程

使用retrying库不需要将它的全部模块以及方法都导入进来,只需要把retry()这个装饰器导入进来就可以了。虽然它是一个装饰器,但是本质上来说还是一个函数,可以通过传入参数来控制最大重试次数、重试时间以及重试间隔,下面的示例可以很明确的看出来,如下所示:

a=1
@retry(stop_max_attempt_number=3, stop_max_delay=2000, wait_fixed=500)
def demo1(n):
    global a
    try:
        a+=1
        e1()
    except Exception as e:
        print(e)
        raise TimeoutError

以上代码示例就是使用retry()这个装饰器去修饰函数demo1给它添加上了异常重试功能,而且是每隔0.5秒重试一次、重试的最大次数为3次、而程序发生异常之后总共可以重试的时间为2秒。需要注意以上装饰器函数内所有参数的单位都是毫秒,换算成秒为1000毫秒等于1秒。

以上就是关于“Python异常重试如何实现?Python运行发生异常怎么自动重新执行”的全部内容了,希望对你有所帮助。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行