Python 实现try重新执行

  • Post category:Python

Python的try/except语句常用于捕获程序出现的异常,可以在发生异常的时候防止程序崩溃或者输出错误信息,从而增加程序的健壮性和可靠性。但有时候,我们希望在异常发生后,重新执行代码块,达到一定次数后若还是出现异常即退出程序,下面我们将介绍如何实现这个功能。

以下是实现try重新执行的完整攻略:

  1. 定义重试次数count,记录尝试次数,可按需设置。

  2. 在代码块外套上一个while循环,不断重试,直到成功或超出重试次数为止。

  3. 将try/except语句放在while循环内部。

  4. 每次try失败后,count加1,达到一定次数后退出程序。

下面是两条示例说明:

  1. 网络请求重试

若在进行网络请求时遇到连接失败等异常,我们可以重试一定次数。

import requests

count = 3
while count > 0:
    try:
        response = requests.get('http://example.com')
        break  # 请求成功,跳出循环
    except requests.exceptions.RequestException as e:
        count -= 1  # 请求失败,count减1
        if count == 0:
            print('网络请求失败')
            raise e  # 最后一次重试仍然失败,抛出异常
  1. 文件读取重试

若在读取文件时出现IOError等异常,我们可以重试一定次数。

count = 3
while count > 0:
    try:
        with open('example.txt', 'r') as f:
            content = f.read()
            break  # 读取成功,跳出循环
    except IOError as e:
        count -= 1  # 读取失败,count减1
        if count == 0:
            print('文件读取失败')
            raise e  # 最后一次重试仍然失败,抛出异常

以上是Python实现try重新执行的完整攻略,通过套用while循环,我们可以实现轻松的重试功能。