Python的try/except语句常用于捕获程序出现的异常,可以在发生异常的时候防止程序崩溃或者输出错误信息,从而增加程序的健壮性和可靠性。但有时候,我们希望在异常发生后,重新执行代码块,达到一定次数后若还是出现异常即退出程序,下面我们将介绍如何实现这个功能。
以下是实现try重新执行的完整攻略:
-
定义重试次数count,记录尝试次数,可按需设置。
-
在代码块外套上一个while循环,不断重试,直到成功或超出重试次数为止。
-
将try/except语句放在while循环内部。
-
每次try失败后,count加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 # 最后一次重试仍然失败,抛出异常
- 文件读取重试
若在读取文件时出现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循环,我们可以实现轻松的重试功能。