python中的pt...finally的⽤法
python中的 pt...finally 的⽤法
author:headsen chen
date:2018-04-09 16:22:11
try, except, finally是Python中的异常捕捉机制,通常的⽤法就是pt...结合起来⽤,程序捕捉try语句块中的异常,如果发现异常就把异常交给except中的语句块进⾏处理,也就是执⾏except中的语句,这⾥except也可以结合
例1:try中⽆异常时,执⾏try和finally中的内容
python的try和except用法def read_file():
try:
print('aaa')
except:
print('error occurs while reading file')
finally:
print('bbbb')
read_file()
------>
aaa
bbbb
总结:当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 file
bbbb
当然,pt也可以结合finally使⽤。则将finally放在最后,finally语句块的内容通常是做⼀些后事的处理,⽐如资源释放什么的,并且finally语句块是⽆论如何都要执⾏的,即使在前⾯的try和except语句块中出现了return,都现
将finally语句执⾏完再去执⾏前⾯的return语句。下⾯看⼀个简单的例⼦:
例3:pt...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())
----->
2222222222
bbbb
5
例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())
----->
2222222222
error occurs while reading file
bbbb
6
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论