作者: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 note def test_func():#定义test_func try:#try m = 1/0 except NameError:#除非nameerror,否则不执行 print('catch NameError in func')#打印抓到了nameerror try: test_func() except ZeroDivisionError:#除非除0错误,否则不执行 print('catch error in the main program')#打印error在主程序 #try 没有异常,就跳过了except,执行else的语句 #无论有没有异常,finally最后都要做的一些事情 ''' 流程: try—异常—except—finally try—无异常—else—finally ''' #抛出异常 print ('Lalala') raise StopIteration print ('Hahaha') #因为raise语句抛出了异常,所以没有执行完 #这里评论区发现一篇好文,先备注 #http://blog.csdn.net/sinchb/article/details/8392827 raise StopIteration() #问题:区别
浙公网安备 33010602011771号