Python 异常处理中的 esle

Posted techfix

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 异常处理中的 esle相关的知识,希望对你有一定的参考价值。

前言

我们知道,在Python中,我们是用try- -excetp- - 来做异常处理的,但Python 有别于其他语法的是在异常处理中还提供了else的处理场景,是的,你没看错,就是在条件判断if- -else- - 中的else,那我们接下来就来看看在异常处理中else有什么作用。

else 作用场景

1.else 是在没有捕捉到异常情况下触发。
如果希望在程序一切正常,没有触发任何异常的情况下做些处理,可以用else,示例如下:

>>> def div():
...     try:
...             x = int(input(firsut num:))
...             y = int(input(second num:))
...             print(x/y)
...     except:
...             print(error)
...     else:
...             print(it is ok)
...
>>> div()
firsut num:2
second num:1
2.0
it is ok

1.finally try联合使用 ,不管异常有没有触发,都会执行finally 语句块的内容。

>>> def div():
...     try:
...             x = int(input(firsut num:))
...             y = int(input(second num:))
...             print(x/y)
...     except:
...             print(error)
...     else:
...             print(it is ok)
...     finally:
...             print(it is finally)
...
>>> div()
firsut num:2
second num:1
2.0
it is ok
it is finally

# 出现异常的情况
>>> div()
firsut num:1
second num:0
error
it is finally

从上面的例子可以看出,当没有捕获到异常时,else会执行,当捕获到异常时,else就不会执行,finally不管异常有没有触发,都会执行。

以上是关于Python 异常处理中的 esle的主要内容,如果未能解决你的问题,请参考以下文章

使用片段中的处理程序时出现非法状态异常

2022年最新Python大数据之Python基础

在 Python 多处理进程中运行较慢的 OpenCV 代码片段

python中的异常处理

Python基础---python中的异常处理

ESL python调用C模块时传递unicode字符串报错问题解决