问题:

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中异常的问题相关推荐

  1. python中语法错误-Python3 错误和异常

    Python3 错误和异常 作为 Python 初学者,在刚学习 Python 编程时,经常会看到一些报错信息,在前面我们没有提及,这章节我们会专门介绍. Python 有两种错误很容易辨认:语法错误 ...

  2. Python3中异常处理和try/except,try/finally的用法

    1:Python3中异常处理介绍 在Python中当发生错误时,Python中的异常会自动触发,异常也能由代码触发和拦截,Python中有如下语句来触发,处理异常: a:try/except:拦截由P ...

  3. 在python中查看关键字需要在python解释器中执行_现有代码 d={},在Python3解释器中执行 d[([1,2])] = 'b'得到的结果为( )。...

    [单选题]下列字符中对应ASCII码数值最小的是哪个选项?( ) [单选题]Python解释器执行'{0},{2},{1}'.format('a','b','c')的结果为( ). [单选题]Pyth ...

  4. Python3——文件与异常

    Python3--文件与异常 目录 Python3--文件与异常 文件 (1).打开文件open() (2).写文件write() (3).从文件读取数据 异常(防止程序崩溃) (1).try-exc ...

  5. Python3错误和异常

    一 .Python3 错误和异常              在Python有两种错误很容易辨认:语法错误和异常. 语法错误 Python 的语法错误或者称之为解析错,是新手经常碰到的. 异常 语法是正 ...

  6. python使用-Python3 错误和异常

    Python3 错误和异常 作为 Python 初学者,在刚学习 Python 编程时,经常会看到一些报错信息,在前面我们没有提及,这章节我们会专门介绍. Python 有两种错误很容易辨认:语法错误 ...

  7. Python3爬虫中Splash的知识总结

    更多编程教程请到:菜鸟教程 https://www.piaodoo.com/ 友情链接: 高州阳光论坛https://www.hnthzk.com/ 人人影视http://www.op-kg.com/ ...

  8. python中异常好用的工具

    [TOC] python中异常好用的工具 PrettyErrors 安装 它的安装特别的简单,直接pip就可以 pip install pretty_errors #没有安装pip的,可以采用下面的方 ...

  9. 在Python3.4中实现opencv3.1.0的安装配置

    写本篇之前查了好多文章,但是由于python基本都是基于2.7.opencv都是基于2.x的,所以许多方法并不适用,以致于浪费了两三个小时.这里对python3.x中怎样使用opencv3.x进行了总 ...

最新文章

  1. 学习笔记-4.1用户管理命令
  2. PaperWeekly 第二十三期 --- 机器写诗
  3. 云计算之路-试用Azure:数据库备份压缩文件在虚拟机上的恢复速度测试
  4. HashMap 面试常见的6连问,你能扛得住吗?
  5. Cython入门.VS.C++
  6. Mybatis中resultMap使用
  7. 10.1综合强化刷题 Day1 morning
  8. AWE2020:黄金十年再踏征程,以科技“智竞”未来
  9. 软考-信息系统项目管理师-项目进度管理
  10. EDA技术及应用实验2 or2a程序
  11. [中文/英文]VC6 sp6补丁下载|VS6 sp6补丁下载 [防VC6link死机]
  12. 美通企业日报 | 沃尔玛8.8购物节销售规模猛增;中通快递市场份额持续扩大
  13. .net core 下文件压缩打包下载
  14. Vue.js watch 属性
  15. CodeQL笔记之基本语法(一)
  16. 【课程设计|C++】设计一个哈夫曼编码器/译码器设计
  17. alpha测试和beta测试Gamma测试的区别是什么?
  18. 【配置】如何配置Tp-link无线路由器作为无线交换机
  19. 实习面经-2018阿里c++研发面经
  20. 反射内存RFM2G的学习与使用

热门文章

  1. 如何写读服务器时间的php,PHP-php中如何使用真实时间而不是服务器时间?
  2. 70个python毕设项目_10 个最值得 Python 新人练手的有趣项目
  3. AWS — AWS Local Zone
  4. SDN — 核心玩家与技术流派
  5. 架构师之路 — 数据库设计 — 关系型数据库应用程序设计
  6. Go 语言编程 — 变量与常量
  7. Amazon Aurora是如何设计原生云关系型数据库的?
  8. LINQ教程二:LINQ操作语法
  9. SCOM2016 安装OS或应用管理包
  10. smokeping安装部署最佳实践