python实例六:代码异常捕捉机制——try...except...finally
在一个大型的程序代码中,不出错一般都是不可能的,防止这样那样的错误以避免后面的代码停止运行以及及时捕捉错误异常,是非常必要的。举两个典型的例子来看看:
①数数相除,除数为0,直接运行代码就会出错,代码如下所示:
a=1 b=0 c=a/b print('看看我还显示不?')
以上代码运行,会出现错误,程序中止,运行结果如下:
②打开文件夹,文件夹不存在,会报错,程序出错终止运行,代码如下:
path='d:\\file.txt' file=open(path,'r') print(file.readlines()) print('我还是可以显示的吧')
以上代码运行后,会显示错误,后面的代码无法运行。
显然如果某段程序中含有以上代码,程序就会错误而终止,后面的代码也无法运行,而且很难捕捉错误异常。在这个时候,“try...except...finally”就会派上用场。用“try...except...finally”改造上述代码如下:
'''数数相除,除数为0''' a=1 b=0 try: c=a/b print(c) except: print('b=0,Unable to divide') finally: print('看看我显示不?') #===========split line============# '''文件夹不存在,打开错误''' path='d:\\file.txt' try: file = open(path, 'r') print(file.readlines()) except: print('file does not exist') finally: print('我还是可以显示的吧')
以上代码运行结果如下:
对比添加”try...except...finally...“前后代码运行结果,可以看到,在遇到异常时,”try...except...finally...“可以成功避免代码异常对程序造成的伤害,并且能够成功捕捉代码异常所在。