Python入门进阶篇 No.3 —— try...except...else 结构_try...except...finally 结构

Python入门进阶篇 No.3 —— 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学习资料!!!

Python入门进阶篇 No.3 —— try...except...else 结构_try...except...finally 结构

上一篇:python基础_day09


下一篇:python异常try expect else finally的理解