python中的 try...except...finally 的用法 |
您所在的位置:网站首页 › python里的finally › python中的 try...except...finally 的用法 |
python中的 try...except...finally 的用法
author:headsen chen date:2018-04-09 16:22:11 try, except, finally是Python中的异常捕捉机制,通常的用法就是try..except...结合起来用,程序捕捉try语句块中的异常,如果发现异常就把异常交给except中的语句块进行处理,也就是执行except中的语句,这里except也可以结合 if...else一起使用。 例1:try中无异常时,执行try和finally中的内容def read_file(): try: print('aaa') except: print('error occurs while reading file') finally: print('bbbb')read_file() ------> aaabbbb总结:当try下面的语句正常运行的时候,一直运行。运行完了后运行finaly下面的语句
例2:try中有异常时: 当try下面的语句运行后,碰到异常的时候,运行except下面的语句,最后运行finaly下面的语句,finaly语句一般做些资源释放的工作,比如关闭打开的文件等。 def read_file(): try: print(2222222222) print(aaa) except: print('error occurs while reading file') finally: print('bbbb')read_file() ------> 2222222222 ----------> 证明try中正确的程序会被执行的,配到异常后在调到except部分执行异常的。error occurs while reading filebbbb 当然,try...except也可以结合finally使用。则将finally放在最后,finally语句块的内容通常是做一些后事的处理,比如资源释放什么的,并且finally语句块是无论如何都要执行的,即使在前面的try和except语句块中出现了return,都现 将finally语句执行完再去执行前面的return语句。下面看一个简单的例子:
例3:try...except...else的用法 else里的只有在try下面的语句全部正确执行了才会执行else,try里面有异常不会else的语句,和finaly不同,finaly是无论try里有无异常都执行 def read_file(): try: print(2222222222) except: print('error occurs while reading file') else: print('bbbb')read_file() 例4:取返回值1 当异常函数里的返回值取值:try里面正确执行时,整个函数的返回值采用try下面的返回值 def read_file(): try: print(2222222222) # print(a) return 5 except: print('error occurs while reading file') return 6 finally: print('bbbb')print(read_file()) -----> 2222222222bbbb5
例5:取返回值2 try里面有异常时,整个函数的返回值采用except下面的返回值 def read_file(): try: print(2222222222) print(a) return 5 except: print('error occurs while reading file') return 6 finally: print('bbbb')print(read_file()) -----> 2222222222error occurs while reading filebbbb6
|
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |