如果您的内部迭代可以在异常之后继续,那么您需要将其包装成一个简单的生成器:

def wrapper(gen):

while True:

try:

yield next(gen)

except StopIteration:

raise

except Exception as e:

print(e) # or whatever kind of logging you want

pass

例如:

In [9]: list(wrapper(csv.reader(open('test.csv', 'r'))))

field larger than field limit (10)

Out[9]: [['foo', 'bar', 'baz'], ['abc', 'def', 'ghi']]

另一方面,如果内部迭代器在异常之后无法继续,则无法包装它:

def raisinggenfunc():

yield 1

raise ValueError("spurious error")

yield 3

In [11]: list(wrapper(raisinggenfunc()))

spurious error

Out[11]: [1]

通过调用Python生成器函数或评估生成器表达式创建的任何生成器将不会被恢复.

在这种情况下,您需要找到一些方法来创建一个恢复迭代的新迭代器.对于像csv.reader这样的东西,这意味着在将文件包装在csv.reader之前从文件中读取n行.在其他情况下,可能意味着将n传递给构造函数.在其他情况下 – 就像上面提到的那样,只是不可能.

python循环捕捉异常_python – 如何在for循环迭代器中捕获异常相关推荐

  1. python循环捕捉异常_python异常捕捉以及处理

    看标题觉得高大上,好像能处理所有的异常.但是,事实是只能按照字面的意思来理解这一段话. 众所周知写代码哪有不出bug的? 那么出现了bug 我们不想让程序因为bug的存在而退出.那么要怎么做呢? 今天 ...

  2. python之捕捉异常

    文章目录 前言 一.try--except语句的基本用法 二.捕捉多个异常 三.用同一个代码块处理多个异常 总结 前言 如果异常未捕捉,系统就会一直将异常传递下去,直到程序由于异常而异常而中断.为了避 ...

  3. python for循环n次_Python入门10 —— for循环

    1.字符串依次取值 students = ['egon', 'lxx', 'alex'] i = 0 while i < 3: print(students[i]) i += 1 2.针对循环取 ...

  4. python的if else 语句使得循环停止的_Python条件语句和循环语句

    条件和条件语句 1. 有条件地执行和 if 语句 真值可合并,至于如何合并稍后再讲,先来看看真值可用来做什么.请尝试运行下面的脚本: name = input('What is your name? ...

  5. python中while循环的格式_Python 学习笔记——for循环和while循环

    文章目录 一.for循环 1.for循环的格式 2.for循环遍历字典 3.range()函数 for循环配合range()函数 二.while循环 while循环的格式 break while循环 ...

  6. pythonwhile循环实战教程_Python入门丨for循环和while循环

    for...in...循环语句 for循环可以遍历任何序列的项目,如一个列表或者一个字符串 实例 for i in 'one': print(i) 输出结果 o n e for循环:空房子 空房子的学 ...

  7. 用python绘制熊猫图案_python – 有没有办法在ggplot中绘制一个熊猫系列?

    我正在尝试使用pandas和非matplotlib绘图.好建议是 here.这个问题关于 yhat's ggplot,我遇到了两个问题. 在熊猫中绘制系列很容易. frequ.plot() 我不知道如 ...

  8. python入门程序异常_Python入门基础(10)_异常_1

    最近有点忙,到现在快一个月没写了,罪过罪过,继续学习 异常:python程序在运行时,如果python解释器遇到一个错误,那么程序就会停止执行,并且会提示一些错误信息,这就是异常. 抛出异常:程序停止 ...

  9. python重命名异常_python异常处理

    异常处理 为什么需要异常处理 写程序没有人敢保证一定不会出现错误,所以异常处理就是提供给开发者在可能出现bug的位置提示错误信息 异常的一半形式 try: 需要检测的语句 except 捕获的类型 a ...

  10. python tkinter画笑脸_python – 如何在tkinter窗口中绘制图像

    如何在tkinter窗口中绘制图像(我使用的是 python 3.3)?我正在寻找一个可以在tkinter窗口的给定位置绘制图像的语句. 是啊- 任何答案将不胜感激.这里是我想要使用代码的程序的源代码 ...

最新文章

  1. Hololens2-Unity3D开发(一)
  2. javascript json对象转字符串形式
  3. 常用的Linux服务器各项性能指标查看方法!
  4. PyQt5之QColor学习
  5. Atiti。流量提升软件设计大纲规划 v1 q45
  6. JS之数组删除/添加项目方法splice
  7. core文件如何分析
  8. 普通话计算机测试题,计算机辅助普通话测试常见问题回答(范文).docx
  9. python 博弈论 社会网络_【 统计应用 】 社会网络分析SNA报告-学习
  10. jquery背景动画插件使用
  11. Open3d之八叉树(Octree)
  12. 2021年山东省安全员C证报名考试及山东省安全员C证操作证考试
  13. java基于ssm三大框架的小区物业收费报修管理系统
  14. QTP Reporter类封装
  15. 微波射频学习笔记9--------品质因数Q值的意义
  16. 函数指针和指针函数有什么区别
  17. java设置pdf不可编辑_禁止编辑,但允许在Java iText / PDF中进行页面提取
  18. Spring boot 整合Spring Security Jwt
  19. Ubuntu 18.04.3 双屏显示其中一个屏幕黑屏无法使用的问题 显卡驱动安装问题
  20. ArrayMap 源码解析

热门文章

  1. 语音识别技术突飞猛进 终有一天将超过人
  2. symbolicatecrash App Bug 分析工具
  3. JPA的常用操作和配置总结
  4. VS2012发布网站IIS配置
  5. 编译安装nginx并修改版本头信息—参考实例
  6. 【十五分钟Talkshow】如何理解并优化.NET应用程序对内存的使用
  7. 磊科nw336+linux驱动程序,磊科NW336无线网卡驱动程序
  8. python实现音乐播放器_【原创源码】用Python来实现一个简易的MP3播放器(采用酷我接口,包含接口分析)...
  9. python3-pwntools教程_CTF PWN工具篇1
  10. 基于python的毕业论文邮箱收发系统_基于Python实现邮件发送