python中try except else_Python try else-Python try except else语句-嗨客网

Python try else异常处理教程

在我们使用 try except else 结构时,同样可以使用 finally 分支,表示一定要执行的代码逻辑。

Python try except else语句详解

语法

try:

# 需要检测异常的代码

except Exception:

# 异常处理逻辑

else:

# 异常没有发生时的逻辑

说明

我们使用 try except else 语句实现了捕获异常的同时,如果异常没有发生,那么执行 else 的逻辑。如果异常发生了,则不会执行 else 的逻辑。

Python try except else finally语句详解

语法

try:

# 需要检测异常的代码

except Exception:

# 异常处理逻辑

else:

# 异常没有发生时的逻辑

finally:

# 最终一定要执行的逻辑

说明

我们在使用 try except else 语句时,后面同样可以加上 finally 字句,表示一定要执行的代码逻辑。

案例

Python try except else捕获异常

使用 try except else捕获异常,如果异常没发生,则执行 else 逻辑

if __name__ == '__main__':

print("嗨客网(www.haicoder.net)")

try:

num = input("Please input a number:")

print("Your input is:", int(num))

except Exception as e:

print("Exception :", e)

else:

print("well done")

程序运行后,控制台输出如下:

a0c70ea700f7695c0be2144caea03028.png

我们在捕获 Exception 异常时,使用了 else 语句,实现了如果异常没有发生,也就是没有走到 except 分支, 那么就执行 else 的代码块,这次运行的时候,因为我们输入了一个

因此,这次执行失败,走到了 except 分支,所以没有执行 else 分支的代码,我们再次输入合法的 int 类型的数字,再次运行程序后,控制台输出如下:

8b69f4e1559f271a7170c214fb2c0feb.png

这次,我们输入了合法的 int 类型的数字,因此没有执行 except 分支的代码,执行了 else 分支的代码,因此,else 实现的功能是如果 except 分支不执行,则执行 else。

Python try except else finally捕获异常

使用 try except else finally 捕获异常,finally 字句同样表示一定要执行的逻辑

if __name__ == '__main__':

print("嗨客网(www.haicoder.net)")

try:

num = input("Please input a number:")

print("Your input is:", int(num))

except Exception as e:

print("Exception :", e)

else:

print("well done")

finally:

print("Call finally")

程序运行后,控制台输出如下:

5df0810afe40ee852c2b1d632640f55f.png

运行该程序时,我们输入了一个字符串,因此,程序执行了 except 分支,同时,我们看到 finally 字句的逻辑也被执行了。现在,我们再次输入合法的 int 类型的数字,再次运行程序后,控制台输出如下:

12f7e7d228bb31319dfded271df20136.png

这次,我们输入了合法的 int 类型的数字,因此,没有执行 except 分支,而是执行了 else 分支,但 finally 分支同样被执行了。

Python try else异常处理总结

在 Python 中,当我们使用 try except 捕获异常时,如果希望仅仅当异常没有发生时,继续执行其他的逻辑,那么这时候,我们可以使用 else 语句。

在我们使用 try except else 结构时,同样可以使用 finally 分支,表示一定要执行的代码逻辑。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值