我被简单的代码卡住了,我是一个编程新手。我使用的是python,在我的列表中,有一些错误的值产生了异常(httperror : 404)。我想忽略这个异常并继续我的循环。但是在我的代码中,print("Http error")一次又一次地循环。我不知道如何传递这个异常来再次循环整个代码。
while i < len(list_siret):
try :
data = api.siret(list_sirets[i]).get()
str_datajs = json.dumps(data, indent= 4)
a_json = json.loads(str_datajs)
i +=1
print("test1", i ,str_datajs)
except urllib.error.URLError :
print("Http error")
pass发布于 2021-07-12 20:19:04
因为在except块中有print("Http error"),所以每次发生异常时都会执行它。
考虑下面更常用的方法:
for siret in list_siret:
try:
data = api.siret(siret).get()
except urllib.error.URLError:
continue
str_datajs = json.dumps(data, indent=4)
a_json = json.loads(str_datajs)
print("test1", i ,str_datajs)我们直接在list_siret上迭代,而不需要索引到它并手动管理i,我们只需移动到列表中的下一个元素,以防引发异常,而不是pass。
https://stackoverflow.com/questions/68347197
复制相似问题