问题:

names = ['taotao','songwenjing','liu','li']
I = iter(names)
while True:
try:
s = next(I)
except Exception as err:
print(err)
break
print(s)

为什么这段代码运行不打印err也是就是StopIteration呢?

----------------------------------------------------------------------------------

 names = ['taotao','songwenjing','liu','li']
l = iter(names)

while True:
    try:
        s = next(l)
    except Exception as err:
        print(err)
        #break                        #把这个break注释掉,发现print(err)打印的是一个空行,而且循环还在执行,说明没有捕获到异常
    print(s)

# taotao
# songwenjing
# liu
# li
#
# li
#
# li

#下一步探究为什么没有捕获到StopIteration异常

names = ['taotao','songwenjing','liu','li']
l = iter(names)

while True:
    try:
        s = next(l)
    except Exception as err:
        print(type(err))
        break 
    print(s)
# taotao
# songwenjing
# liu
# li
# <class 'StopIteration'>

由结果可知,是捕捉到了StopIteration的一个实例,可能是由于StopIteration类没有实现__str__()方法,故print(err)打印不出任何结果。

 
 __str__:在将对象转换成字符串  str(对象)  测试的时候,打印对象的信息,__str__方法必须要return一个字符串类型的返回值,作为对实例对象的字符串描述,__str__实际上是被print函数默认调用的,当要print(实例对象)时,默认调用__str__方法,将其字符串描述返回。如果不是要用str()函数转换。当你打印一个类的时候,那么print首先调用的就是类里面的定义的__str__。

 
 
 
 

最新文章

  1. linux(十一)__Apache服务器
  2. mysql group_concat 使用 (按分组组合字段)
  3. mysql 导出表结构和表数据 mysqldump用法
  4. 将 Book-Crossing Dataset 书籍推荐算法中 CVS 格式测试数据集导入到MySQL数据库
  5. Ubuntu彻底删除MySQL重装MySQL
  6. iOS面试和招聘
  7. DATE,DATETIME,DATETIME2等日期时间数据类型
  8. CS0016: 未能写入输出文件的解决方法
  9. Red and Black
  10. sublime支持显示中文
  11. Secure CRT 如何连接虚拟机里面的CentOS系统——当主机使用无线网的时候 作者原创 欢迎转载
  12. Light Bulb--zoj3203(三分法)
  13. javascript 日期对象(date)详解
  14. Vue2.0 --- vue-cli脚手架中全局引入JQ
  15. os模块walk方法
  16. CEF 自定义用户协议(scheme)实现以二进制流的方式显示图片、视频、音频
  17. 关于Image创建的内存管理
  18. Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能
  19. Java 之外,是 Scala 还是 Groovy?【转载】
  20. 为什么 PCB 生产时推荐出 Gerber 给工厂?

热门文章

  1. RDA Kconfig介绍 ***
  2. attr 和 prop的区别和使用
  3. activity工作流表结构分析
  4. linux编译安装gcc5.3.0
  5. 构造+暴力 Codeforces Round #283 (Div. 2) B. Secret Combination
  6. RHEL5.6环境下yum安装MySQL
  7. (转)全文检索技术学习(三)——Lucene支持中文分词
  8. POJ_3041_Asteroids
  9. HDU_1207_汉诺塔2
  10. 导出数据到Excel表格