信息技术:133Python try except finally:资源回收.docx

上传人:太** 文档编号:35976299 上传时间:2022-08-24 格式:DOCX 页数:3 大小:12.81KB
返回 下载 相关 举报
信息技术:133Python try except finally:资源回收.docx_第1页
第1页 / 共3页
信息技术:133Python try except finally:资源回收.docx_第2页
第2页 / 共3页
点击查看更多>>
资源描述

《信息技术:133Python try except finally:资源回收.docx》由会员分享,可在线阅读,更多相关《信息技术:133Python try except finally:资源回收.docx(3页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Python try except finally :资源回收Python异常处理机制还提供了一个finally语句,通常用来为try块中的程序做扫尾清理 工作。注意,和else语句不同,finally只要求和try搭配使用,而至于该结构 中是否包含except以及else,对于finally不是必须的(else必须和try except搭配使用)。在整个异常处理机制中,finally语句的功能是:无论try块是否发生异常,最终都要进入 finally语句,并执行其中的代码块。基于finally语句的这种特性,在某些情况下,当try块中的程序翻开了一些物理资源(文 件、数据库连接等)时,由于这

2、些资源必须手动回收,而回收工作通常就放在finally块中。Python垃圾回收机制,只能帮我们回收变量、类对象占用的内存,而无法 自动完成类似关闭文件、数据库连接等这些的工作。读者可能会问,回收这些物理资源,必须使用finally块吗?当然不是,但使用finally块 是比拟好的选择。首先,try块不适合做资源回收工作,因为一旦try块中的某行代码发 生异常,那么其后续的代码将不会得到执行;其次except和else也不适合,它们都可能不 会得到执行。而finally块中的代码,无论try块是否发生异常,该块中的代码都会被执 行。举个例子:2.1.try:a = int(input(“请输入

3、 a 的值:)print(20/a)3. except:4. print(“发生异常!)else:5. print(执行else块中的代码。6. finally:7. print(执行finally块中的代码”)运行此程序:请输入a的值:45.0执行else块中的代码执行finally块中的代码可以看到,当try块中代码为发生异常时,except块不会执行,else块和finally块中的代码会被执行。再次运行程序:请输入a的值:a发生异常!执行finally块中的代码可以看到,当try块中代码发生异常时,except块得到执行,而else块中的代码将不执行,finally块中的代码仍然会被执

4、行。finally块的强大还远不止此,即便当try块发生异常,且没有合适和except处理异常时,finally块中的代码也会得到执行。例如:1. try:2. #发生异常print(20/0)3. finally:4. print。执行finally块中的代码”)程序执行结果为:执行finally块中的代码Traceback (most recent call last):File D:python3.6l.py, line 3, in print(20/0)ZeroDivisionError: division by zero可以看到,当try块中代码发生异常,导致程序崩溃时,在崩溃前Python解释器也会执行finally块中的代码。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁