Python 异常处理机制还提供了一个 finally 语句,通常用来为 try 块中的程序做扫尾清理工作。

注意,和 else 语句不同,finally 只要求和 try 搭配使用,而至于该结构中是否包含 except 以及 else,对于 finally 不是必须的(else 必须和 try except 搭配使用)。
在整个异常处理机制中,finally 语句的功能是:无论 try 块是否发生异常,最终都要进入 finally 语句,并执行其中的代码块。
基于 finally 语句的这种特性,在某些情况下,当 try 块中的程序打开了一些物理资源(文件、数据库连接等)时,由于这些资源必须手动回收,而回收工作通常就放在 finally 块中。
Python 垃圾回收机制,只能帮我们回收变量、类对象占用的内存,而无法自动完成类似关闭文件、数据库连接等这些的工作。
读者可能会问,回收这些物理资源,必须使用 finally 块吗?当然不是,但使用 finally 块是比较好的选择。首先,try 块不适合做资源回收工作,因为一旦 try 块中的某行代码发生异常,则其后续的代码将不会得到执行;其次 except 和 else 也不适合,它们都可能不会得到执行。而 finally 块中的代码,无论 try 块是否发生异常,该块中的代码都会被执行。
举个例子:
try:
a = int(input("请输入 a 的值:"))
print(20/a)
except:
print("发生异常!")
else:
print("执行 else 块中的代码")
finally :
print("执行 finally 块中的代码")
运行此程序:
请输入 a 的值:4
5.0
执行 else 块中的代码
执行 finally 块中的代码
可以看到,当 try 块中代码为发生异常时,except 块不会执行,else 块和 finally 块中的代码会被执行。
再次运行程序:
请输入 a 的值:a
发生异常!
执行 finally 块中的代码
可以看到,当 try 块中代码发生异常时,except 块得到执行,而 else 块中的代码将不执行,finally 块中的代码仍然会被执行。
finally 块的强大还远不止此,即便当 try 块发生异常,且没有合适和 except 处理异常时,finally 块中的代码也会得到执行。例如:
try:
#发生异常
print(20/0)
finally :
print("执行 finally 块中的代码")
程序执行结果为:
执行 finally 块中的代码
Traceback (most recent call last):
File "D:\python3.6\1.py", line 3, in <module>
print(20/0)
ZeroDivisionError: division by zero
可以看到,当 try 块中代码发生异常,导致程序崩溃时,在崩溃前 Python 解释器也会执行 finally 块中的代码。
相关推荐:
ChatGPT网页打不开?快来看看这些解决办法,轻松恢复正常访问!,ai金色包装
seo要什么条件,seo都需要做什么 ,交互ai求职
seo站内优化包括什么营销,seo站内优化操作流程 ,ai 玻璃图标
怎么用AI生成文章免费版,高效创作从此开始!
为什么“蜘蛛弛查询”能成为提升网站排名的秘密武器?,惠州网站推广v1戈seo24
2025年整站SEO排名优化策略:让你的网站脱颖而出,id排版ai
ChatGPT网页版为什么不能用了?解析原因与解决办法,女人莫名其妙想ai
SEO兼职:如何通过SEO兼职实现收入增长与职业突破,濮阳网站建设官网
二SEO是什么,h二seo三是什么 ,ai手术机
SEO舆情:如何通过有效的舆情管理提升企业品牌形象,seo推广外包提高收录
GPT版本全解:从基础到高级,如何选择最适合你的方案?,韩国ai人工智能
SEO新手必看:从零开始SEO优化的终极指南,随州网站优化技巧
seo适合看什么书,自学seo书籍推荐 ,ai少女 刻晴
SEO那么重要,企业如何通过它脱颖而出?,自媒体推广营销的概念
SEO选择:如何挑选最合适的SEO优化策略?,wb免费刷粉网站推广
ChatGPT为什么打不开了?揭秘背后的原因与解决办法,ai业务后端
SEO百度优化:让你的品牌在搜索引擎中脱颖而出,日照网站推广策划
SEO很多,如何在竞争激烈的市场中脱颖而出?,在SEO优化中
AI软件不用登录,让你的工作更高效轻松,智能ai写作改稿怎么改
SEO合同:确保您网站优化成功的关键保障,微博营销推广规则最新
SEO领先-如何借助SEO技术让您的网站脱颖而出,seo是黑客吗
OpenAIGPT:开启智能时代的语言革命,ai辣妹动漫
SEO能够助力网站流量增长,提升品牌竞争力,Seo网站排名原理
AI一键生成文章免费版:颠覆写作新体验
为什么做seo的人很少,为了什么做seo ,ai不负你
怎么分辨文章是不是AI写的?五大技巧揭开真相
360ai问答-智能时代的全能助手,未来的智慧生活,ai生成白底
SEO趋势:2025年搜索引擎优化的未来发展,河南省营销推广系统官网
AI会生成同一篇文章吗?揭开智能创作的神秘面纱
seo给你什么帮助,seo的利与弊 ,ai 大厨
仿写AI:智能时代的创作革命,洛江区移动房网站推广
seo需要什么部门,seo主要干什么 ,ai接入仪器
SEO监控:精准把握网站排名与优化成效的利器,湖南seo排名商家名单
“关键词指白”:揭秘如何通过精准关键词优化实现流量暴增,全面分析网站seo
ChatGPT怎么打不开了?解决办法,轻松恢复畅通无阻!,ai订酒店ai对话
seo进阶买什么书运营,seo入门难吗 ,没有ai软件怎么打开ai图片
ChatGPT崩了?用户称打开是一片空白,真相竟然如此!,zzz*明星AI换脸
SEO合作:让你的网站在搜索引擎中脱颖而出,惠州抖音seo策划公司
打造高效创作体验,写文章AI软件重塑内容生产力
seo网站通过什么软件,网站seo软件哪个 ,战团ai
为什么“搜狗不收录”会成为企业SEO的新挑战?,烤肉店的线下营销与推广
AI热门软件,未来科技的钥匙
ChatGPTO1免费:突破智能聊天的极限,体验AI无限可能,糯米ai唱歌
seo软件是什么职位,seo用的是什么软件 ,ai感知树
seo点击工具,seo排名点击软件推荐 ,ai狂躁
SEO优:让网站流量和排名实现飞跃的秘诀,大理哪有企业网站建设
seo逻辑是什么,seo思路 ,语音主播怎么ai写作业
AI免费生成文章的软件:轻松创作的秘密武器
Zkept:重塑未来生活的智能科技革新,营销推广的面试问题
seo需要了解什么,seo需要学些什么内容 ,ovo ai