python 异常处理(try...finally...和with...as 方法)
try...finally... 结构
我们在执行一长串关联命令时,会有一个问题,如果当中一个命令失败了,整个命令串事实上就没有必要执行下去了。在异常发生时,我们也需要执行一些收场工作。比如 close() 方法关闭文件。这时 try...finally... 结构就可以派上用场了。
1 2 3 4 5 | try : f = open ( 'a.txt' , 'w' ) f.write( 'Hello!' ) finally : f.close() |
这种结构简单的说:无论异常是否发生,在程序结束前,finally中的语句都会被执行。
with 语句
try...finally... 虽然好用,但是代码段有点长。因此python2.5以后引入 with 语句。
with 语句适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的“清理”操作,释放资源,比如文件使用后自动关闭、线程中锁的自动获取和释放等。
1 2 | with open ( 'a.txt' , 'w' ) as f: f.write( 'Hello!' ) |
和上面 try...finally... 实现一样的功能。但是代码精简很多。
Only action can relieve the uneasiness.
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步