亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python捕獲異常后繼續(xù)執(zhí)行問題

 更新時間:2023年09月13日 14:32:42   作者:蘇醒的怪獸  
這篇文章主要介紹了python捕獲異常后繼續(xù)執(zhí)行問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

python捕獲異常后繼續(xù)執(zhí)行

最近寫爬蟲,發(fā)現(xiàn)獲取的URL鏈接中總會出現(xiàn)一些壞數(shù)據(jù),即訪問后被拒絕,requests直接拋出異常,導致爬蟲中斷。

于是想找方法在捕獲異常后跳過異常URL繼續(xù)執(zhí)行程序

方法如下:

while True:
    try:
        r=requests.get(url,timeout=5)
        with open(path+'/'+name+".txt",'w') as myfile:
            myfile.write(r.content)
            myfile.close()
    except Exception as ex:
        template = "An exception of type {0} occurred. Arguments:\n{1!r}"
        message = template.format(type(ex).__name__, ex.args)
        print('\n'+message)
        break
    finally:
        break

首先外層一個死循環(huán),然后通過try……except捕獲異常。

捕獲后處理完異常,然后通過return或者break跳出循環(huán),繼續(xù)執(zhí)行程序。

注意最后的finally,意思是無論是否捕獲到異常都執(zhí)行后面的代碼,沒有則一條則無異常時會陷入死循環(huán)狀態(tài)

python使用logging捕獲異常后繼續(xù)執(zhí)行函數(shù)

使用python的logging模塊可以在捕獲異常后,記錄異常且不退出程序:

例子:

import logging
logging.basicConfig(
? ? filename='new.log', ?# 打印寫入的文件
? ? filemode='a', ) ?# 寫入日志的方法,a為追加,w為寫入
try:
? ? a = 1 / 0
except Exception as e:
? ? logging.exception(e) # 會把報錯的信息記錄下來
print('other program') # 繼續(xù)執(zhí)行其他錯誤

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論