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


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... 实现一样的功能。但是代码精简很多。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM