当前位置:
首页 > Python基础教程 >
-
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') # 继续执行其他错误
总结 以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
原文链接:https://blog.csdn.net/qq_29869111/article/details/102630495
栏目列表
最新更新
求1000阶乘的结果末尾有多少个0
详解MyBatis延迟加载是如何实现的
IDEA 控制台中文乱码4种解决方案
SpringBoot中版本兼容性处理的实现示例
Spring的IOC解决程序耦合的实现
详解Spring多数据源如何切换
Java报错:UnsupportedOperationException in Col
使用Spring Batch实现批处理任务的详细教程
java中怎么将多个音频文件拼接合成一个
SpringBoot整合ES多个精确值查询 terms功能实
SQL Server 中的数据类型隐式转换问题
SQL Server中T-SQL 数据类型转换详解
sqlserver 数据类型转换小实验
SQL Server数据类型转换方法
SQL Server 2017无法连接到服务器的问题解决
SQLServer地址搜索性能优化
Sql Server查询性能优化之不可小觑的书签查
SQL Server数据库的高性能优化经验总结
SQL SERVER性能优化综述(很好的总结,不要错
开启SQLSERVER数据库缓存依赖优化网站性能
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比