python学习之异常处理

在程序中,发生异常经常遇见的,例如打开不存在的文件,除数为0等,如果我们处理程序发出的异常,程序在遇到异常时就不会继续执行

a = 1/0
print("exit")

程序在执行上面a = 1/0时,会报出ZeroDivisionError异常,如果不处理ZeroDivisionError异常,程序就不出继续执行print("exit")
在这里插入图片描述

try…except

在高级语言中,都会引入异常处理语法,python也不例外,在python中,通过使用try....except语法,来解决一般异常问题,例如上面的代码写成下面形式

try:
    a = 1/0
except ZeroDivisionError as e:
    print("program error")
    print(e)

print("exit")

执行结果如下
在这里插入图片描述

try…except…else

当然,我们还需要考虑到如果try中都是执行成功了,没有报错异常,程序需要执行其他操作,这时我们就需要使用try....except...else语法,例如下面的流程

在这里插入图片描述

try:
    a = 1/1
except ZeroDivisionError as e:
    print("program error")
    print(e)

else:
    print("ok")
print("exit")

执行结果如下,由于在try块中没有发生异常,因此,except块就不执行,从而执行else
在这里插入图片描述

try…except…else…finally

异常处理终结版try....except...else...finally,在finally块中,无论try块中是否发生异常,finally块都会执行。整个执行流程如下。
在这里插入图片描述

try:
    a = 1/1
except ZeroDivisionError as e:
    print("program error")
    print(e)

else:
    print("ok")

finally:
    print("finally")
print("exit")

整个执行结果如下
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值