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

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


前生篇:try_except基本结构

后世篇:return 语句和异常处理问题_常见异常的解决_常见异常汇总

基础篇:小白不看都能懂 —— 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基本结构

后世篇:return 语句和异常处理问题_常见异常的解决_常见异常汇总

基础篇:小白不看都能懂 —— Python之真功夫系列(全章)


关注下方公众号,免费拿Python学习资料!!!

在这里插入图片描述

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值