首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python :在循环中传递异常

Python :在循环中传递异常
EN

Stack Overflow用户
提问于 2021-07-12 20:12:32
回答 1查看 84关注 0票数 1

我被简单的代码卡住了,我是一个编程新手。我使用的是python,在我的列表中,有一些错误的值产生了异常(httperror : 404)。我想忽略这个异常并继续我的循环。但是在我的代码中,print("Http error")一次又一次地循环。我不知道如何传递这个异常来再次循环整个代码。

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-12 20:19:04

因为在except块中有print("Http error"),所以每次发生异常时都会执行它。

考虑下面更常用的方法:

代码语言:javascript
复制
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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68347197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档