python捕获异常后继续执行问题

 更新时间:2023年09月13日 14:32:42   作者:苏醒的怪兽  
这篇文章主要介绍了python捕获异常后继续执行问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

python捕获异常后继续执行

最近写爬虫,发现获取的URL链接中总会出现一些坏数据,即访问后被拒绝,requests直接抛出异常,导致爬虫中断。

于是想找方法在捕获异常后跳过异常URL继续执行程序

方法如下:

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

首先外层一个死循环,然后通过try……except捕获异常。

捕获后处理完异常,然后通过return或者break跳出循环,继续执行程序。

注意最后的finally,意思是无论是否捕获到异常都执行后面的代码,没有则一条则无异常时会陷入死循环状态

python使用logging捕获异常后继续执行函数

使用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') # 继续执行其他错误

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python opencv图像的高通滤波和低通滤波的示例代码

    python opencv图像的高通滤波和低通滤波的示例代码

    这篇文章主要介绍了python opencv图像的高通滤波和低通滤波,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • python和ruby,我选谁?

    python和ruby,我选谁?

    本文给大家对比了下python和Ruby的异同以及各自的优缺点等,向大家展示了python与Ruby的资源以及学习曲线,非常适合在此两种语言中犹豫不决的小伙伴,希望大家能够喜欢
    2017-09-09
  • 使用 Python 实现简单的 switch/case 语句的方法

    使用 Python 实现简单的 switch/case 语句的方法

    这篇文章主要介绍了用 Python 实现简单的 switch/case 语句的方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-09-09
  • pytorch: Parameter 的数据结构实例

    pytorch: Parameter 的数据结构实例

    今天小编就为大家分享一篇pytorch: Parameter 的数据结构实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • PyCharm中代码字体大小调整方法

    PyCharm中代码字体大小调整方法

    在本篇文章里小编给大家分享了关于PyCharm中代码字体大小调整方法以及相关知识点,需要的朋友们学习下。
    2019-07-07
  • 在Windows命令行中打开Python自带shell问题

    在Windows命令行中打开Python自带shell问题

    这篇文章主要介绍了在Windows命令行中打开Python自带shell问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • Python机器学习之随机梯度下降法的实现

    Python机器学习之随机梯度下降法的实现

    如果当我们数据量和样本量非常大时,每一项都要参与到梯度下降,那么它的计算量时非常大的,所以我们需要采用随机梯度下降法。本文介绍了Python实现随机梯度下降法的方法,希望对大家有所帮助
    2023-02-02
  • tensorflow模型继续训练 fineturn实例

    tensorflow模型继续训练 fineturn实例

    今天小编就为大家分享一篇tensorflow模型继续训练 fineturn实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • OpenCV实战之AI照片背景替换

    OpenCV实战之AI照片背景替换

    不少人在生活中都有抠人像图换背景的需求。本文将为大家介绍一个更快的方法,即利用OpenCV实现AI照片背景替换,感兴趣的小伙伴可以试一试
    2022-01-01
  • python之while循环、无限循环用法及说明

    python之while循环、无限循环用法及说明

    这篇文章主要介绍了python之while循环、无限循环用法及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06

最新评论