当我们认为某些代码可能会出错时,就可以用try
来运行这段代码,如果执行出错,则后续代码不会继续执行,而是直接跳转至错误处理代码,即except
语句块,执行完except
后,如果有finally
语句块,则执行finally
语句块,至此,执行完毕。
1 try: 2 print 'try...' 3 r = 10 / 0 4 print 'result:', r 5 except ZeroDivisionError, e: 6 print 'except:', e 7 finally: 8 print 'finally...' 9 print 'END
try... except: integer division or modulo by zero finally... END
从输出可以看到,当错误发生时,后续语句print 'result:', r
不会被执行,except
由于捕获到ZeroDivisionError
,因此被执行。最后,finally
语句被执行。然后,程序继续按照流程往下走。
# object 这个关键字是所有类的基类
# Exception 这个关键字是所有异常类的基类
一些常用的异常报错类型可以记下。
raise关键字:主要是直接将报错的异常抛出来,并终止程序。但是finally里面的语句块还是会执行。