作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!
原链:http://www.cnblogs.com/vamei/archive/2012/07/10/2582787.html#!comments
笔记:
#第18讲 异常处理'''re = iter(range(5))for i in range(100): print(next(re))#next的方法跟python2不一致print('hahaha')'''#上面这个程序是会报 stopinteration,不会执行print('hahaha')的打印#except 用法#做好可能出现的备案,发生错误的时候,执行;没有错误则except 跳过'''re = iter(range(5))try: for i in range(100): print(next(re))except StopIteration: print('here is end', i)print ('hahaha')'''#完整语法结构:try: ...except exception1: ...except exception2: ...except: ...else: ...finally: ...#如果try 有异常,就会执行except,层层比对,是否是exception1 还是2,执行相应except语句#如果报错,可以可以在except 后面加print 打印,然后定位是哪个exception try: print(a**2)except TypeError: print('TypeError')except: print('not typrerror & error note')#因为a没有定义,应该是nameerror#第一个except 不是typeerror,所以执行下一个except#输出:not typrerror & error notedef test_func():#定义test_func try:#try m = 1/0 except NameError:#除非nameerror,否则不执行 print('catch NameError in func')#打印抓到了nameerrortry: test_func()except ZeroDivisionError:#除非除0错误,否则不执行 print('catch error in the main program')#打印error在主程序 #try 没有异常,就跳过了except,执行else的语句#无论有没有异常,finally最后都要做的一些事情'''流程: try—异常—except—finallytry—无异常—else—finally'''#抛出异常print ('Lalala')raise StopIterationprint ('Hahaha')#因为raise语句抛出了异常,所以没有执行完#这里评论区发现一篇好文,先备注#http://blog.csdn.net/sinchb/article/details/8392827raise StopIteration()#问题:区别
posted on 2017-10-20 16:07 阅读( ...) 评论( ...)