Python入门进阶篇 No.3 —— try…except…else 结构_try…except…finally 结构
文章目录
- Python入门进阶篇 No.3 —— try...except...else 结构_try...except...finally 结构
- 一、try...except...else 结构
- 二、try...except...finally 结构
- 总结
前生篇:try_except基本结构
基础篇:小白不看都能懂 —— Python之真功夫系列(全章)
一、try…except…else 结构
- try…except…else 结构增加了“else 块”。如果 try 块中没有抛出异常,则执行 else 块。如果try 块中抛出异常,则执行 except 块,不执行 else 块。
# try...except...else结构执行测试
try:
a = input('请输入被除数:')
b = input('请输入除数:')
c = float(a) / float(b)
except BaseException as e:
print(e)
else:
print('除的结果是:', c)
---------------------------
# 发生异常的执行情况(执行 except 块,没有执行 else):
请输入被除数:5
请输入除数:0
float division by zero
----------------------------
# 没有发生异常的执行情况(执行完 try 块后,执行 else):
请输入被除数:10
请输入除数:2
除的结果是: 5.0
二、try…except…finally 结构
- try…except…finally 结构中,finally 块无论是否发生异常都会被执行;通常用来释放 try 块中申请的资源。
# try...except...finally结构简单测试
try:
a = input('请输入一个被除数:')
b = input('请输入一个除数:')
c = float(a) / float(b)
except BaseException as e:
print(e)
else:
print(c)
finally:
print('无论是否发生异常,都执行!')
-----------------------------------------
请输入一个被除数:10
请输入一个除数:0
float division by zero
无论是否发生异常,都执行!
- 读取文件,finally 中保证关闭文件资源
try:
f = open('c:/test', 'r')
content = f.readable()
print(content)
except BaseException as e:
print(e)
finally:
f.close() # 释放资源,此处也可能会发生异常。若没有发生异常,则程序终止,不会继续往下执行.
-------------------------
[Errno 2] No such file or directory: 'c:/test'
Traceback (most recent call last):
File "C:/jetbrains-agent/博客/基础篇/基础篇01.py", line 9, in <module>
content.close()
NameError: name 'content' is not defined
总结
以上帮各位总结好了,收藏,关注即可查收。
前生篇:try_except基本结构
基础篇:小白不看都能懂 —— Python之真功夫系列(全章)
关注下方公众号,免费拿Python学习资料!!!