zoukankan      html  css  js  c++  java
  • python 异常处理(try...finally...和with...as 方法)

    python 异常处理(try...finally...和with...as 方法)

    一、总结

    一句话总结:

    1、try...finally:try捕获异常,没有except所以不处理异常,finally中做一些必定要做的操作,比如关闭文件
    2、with...as:作用和上面的try...finally一样,也是捕获异常,但是不处理异常,不管使用过程中是否发生异常都会执行必要的“清理”操作,释放资源,比如文件使用后自动关闭

    二、python 异常处理(try...finally...和with...as 方法)

    转自或参考:python 异常处理(try...finally...和with...as 方法) - 暮良文王 - 博客园
    https://www.cnblogs.com/liangmingshen/p/9427951.html

    try...finally... 结构

      我们在执行一长串关联命令时,会有一个问题,如果当中一个命令失败了,整个命令串事实上就没有必要执行下去了。在异常发生时,我们也需要执行一些收场工作。比如 close() 方法关闭文件。这时 try...finally... 结构就可以派上用场了。

    try:
        f = open('a.txt', 'w')
        f.write('Hello!')
    finally:
        f.close()
    

      这种结构简单的说:无论异常是否发生,在程序结束前,finally中的语句都会被执行。

    with 语句

      try...finally... 虽然好用,但是代码段有点长。因此python2.5以后引入 with 语句。
      with 语句适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的“清理”操作,释放资源,比如文件使用后自动关闭、线程中锁的自动获取和释放等。
      
    with open('a.txt', 'w') as f:
        f.write('Hello!')
      和上面 try...finally... 实现一样的功能。但是代码精简很多。
     
  • 相关阅读:
    ASP.NET MVC preview 1升级到ASP.NET MVC preview 2的一些更改
    今天遇到一个非常奇怪的问题
    Microsoft ASP.NET MVC中Membership登陆的实现
    自己用的一个ASP.Net MVC分页拿出来分享下
    KnockoutJs学习笔记(一)
    KnockoutJs学习笔记(三)
    KnockoutJs学习笔记(二)
    KnockoutJs学习笔记(四)
    学习网站不定期更新
    一些好的网站
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/13270334.html
Copyright © 2011-2022 走看看