Python:在循环中传递异常

2024-09-30 22:22:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我被我的简单代码困住了,我是一个编码新手。。我正在使用python和 在我的列表中,有导致异常的错误值(httperror:404)。我想忽略此异常并继续我的循环。但在我的代码中,打印(“Http错误”)会一次又一次地循环。我不知道如何传递此异常以再次循环整个代码

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
    

Tags: 代码jsonhttp编码列表data错误error
1条回答
网友
1楼 · 发布于 2024-09-30 22:22:31

由于在except块中有print("Http error"),因此每次发生异常时都会执行该块

<> P>考虑以下更惯用的方法:

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,我们只是移动到列表中的下一个元素,以防引发异常

相关问题 更多 >