干货python异常处理之try-finally,try-except-else

前面我讲了python异常中的try-except用法,干货!python妙招-异常处理之try-except,今天讲一下try和其他语句用法

1、try-except-else

在 try 范围中没有检测到异常时候,执行 else 子句.。即在else范围中的任何代码运行前,try范围中的所有代码必须完全成功(也就是,结束前没有引发异常)。示例代码如下:

运行结果:

2、try-finally

finally子句是无论异常是否发生,是否捕捉都会执行的一段代码你可以将 finally 仅仅配合try 一起使用,也可以和 try-except(else 也是可选的)一起使用。

如下:

try-finally 语句和 try-except区别在于它不是用来捕捉异常的。作为替代,它常常用维持一致的行为。我们得知无论 try 中是否有异常触发,finally 代码段都会被执行。

当在 try 范围中产生一个异常时,会立即跳转到 finally 语句段。当 finally 中的所有代码都执行完毕后,会继续向上一层引发异常。

这可以在读文件的时候用,当我们的文件可能因为各种原因而不能读取时候,虽然捕获了异常,但是最后我们还要关闭它,我们可用一个嵌套的try来实现(不过在python3中with-open语句可以直接实现,这里只是例子)

3、try-except-else-finally:乱炖

这一用法最重要的是无论你选择什么语法,你至少要有一个 except 子句,而 else 和 finally 都是可选的.

如下:

以上就是try捕获异常的方法

码字不易,大家多多关照。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180308A1K43N00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券