python3 with中异常的问题
问题:
python中 with语句可以帮助 打开和关闭一些东西,比如用open的时候,那如果在在with语句之前加上了try 在 with语句中如果出现异常了,走到exception 后,with还会对程序进行关闭吗?
答案:
with是上下文管理器协议 实例如下:
try:with open('xxx') as fin:pass
except Exception:pass
上下文管理器协议的本质就是【try-finally结构】:
try:try:fin = open('xxx')passfinally:fin.close()
except Exception:pass
再来要理解finally的本质:暂时压制try子句中抛出的异常,直到finally子句执行完毕后,再将其重新抛出。
上面代码中,如果内层try子句的pass部分出现了异常,会先被finally捕获并处理,然后才会进入外层的except子句。
那么这个内层try子句的pass部分是什么呢?就是with结构中的语句。所以with结构在任何情况下都能顺利完成清理工作。
python3 with中异常的问题相关推荐
- python中语法错误-Python3 错误和异常
Python3 错误和异常 作为 Python 初学者,在刚学习 Python 编程时,经常会看到一些报错信息,在前面我们没有提及,这章节我们会专门介绍. Python 有两种错误很容易辨认:语法错误 ...
- Python3中异常处理和try/except,try/finally的用法
1:Python3中异常处理介绍 在Python中当发生错误时,Python中的异常会自动触发,异常也能由代码触发和拦截,Python中有如下语句来触发,处理异常: a:try/except:拦截由P ...
- 在python中查看关键字需要在python解释器中执行_现有代码 d={},在Python3解释器中执行 d[([1,2])] = 'b'得到的结果为( )。...
[单选题]下列字符中对应ASCII码数值最小的是哪个选项?( ) [单选题]Python解释器执行'{0},{2},{1}'.format('a','b','c')的结果为( ). [单选题]Pyth ...
- Python3——文件与异常
Python3--文件与异常 目录 Python3--文件与异常 文件 (1).打开文件open() (2).写文件write() (3).从文件读取数据 异常(防止程序崩溃) (1).try-exc ...
- Python3错误和异常
一 .Python3 错误和异常 在Python有两种错误很容易辨认:语法错误和异常. 语法错误 Python 的语法错误或者称之为解析错,是新手经常碰到的. 异常 语法是正 ...
- python使用-Python3 错误和异常
Python3 错误和异常 作为 Python 初学者,在刚学习 Python 编程时,经常会看到一些报错信息,在前面我们没有提及,这章节我们会专门介绍. Python 有两种错误很容易辨认:语法错误 ...
- Python3爬虫中Splash的知识总结
更多编程教程请到:菜鸟教程 https://www.piaodoo.com/ 友情链接: 高州阳光论坛https://www.hnthzk.com/ 人人影视http://www.op-kg.com/ ...
- python中异常好用的工具
[TOC] python中异常好用的工具 PrettyErrors 安装 它的安装特别的简单,直接pip就可以 pip install pretty_errors #没有安装pip的,可以采用下面的方 ...
- 在Python3.4中实现opencv3.1.0的安装配置
写本篇之前查了好多文章,但是由于python基本都是基于2.7.opencv都是基于2.x的,所以许多方法并不适用,以致于浪费了两三个小时.这里对python3.x中怎样使用opencv3.x进行了总 ...
最新文章
- 学习笔记-4.1用户管理命令
- PaperWeekly 第二十三期 --- 机器写诗
- 云计算之路-试用Azure:数据库备份压缩文件在虚拟机上的恢复速度测试
- HashMap 面试常见的6连问,你能扛得住吗?
- Cython入门.VS.C++
- Mybatis中resultMap使用
- 10.1综合强化刷题 Day1 morning
- AWE2020:黄金十年再踏征程,以科技“智竞”未来
- 软考-信息系统项目管理师-项目进度管理
- EDA技术及应用实验2 or2a程序
- [中文/英文]VC6 sp6补丁下载|VS6 sp6补丁下载 [防VC6link死机]
- 美通企业日报 | 沃尔玛8.8购物节销售规模猛增;中通快递市场份额持续扩大
- .net core 下文件压缩打包下载
- Vue.js watch 属性
- CodeQL笔记之基本语法(一)
- 【课程设计|C++】设计一个哈夫曼编码器/译码器设计
- alpha测试和beta测试Gamma测试的区别是什么?
- 【配置】如何配置Tp-link无线路由器作为无线交换机
- 实习面经-2018阿里c++研发面经
- 反射内存RFM2G的学习与使用