Python~try--except--else异常处理

try--except--else-finally异常处理

场景:在程序运行的过程中,如果某一处代码有报错,那么程序就不会继续运行后面的代码,而我们又需要在程序正常运行。

try except语句作用,捕获程序在执行的过程中遇到的异常情况,并且在异常情况下,正常运行。


案例:

遍历一个列表numbers,打印1024 除以 列表中的每个元素,当i=0,代码则会报错,且不会继续执行。

numbers = [1, 0, 2, 4]

for i in numbers:
    print(1024 / i)

在这里插入图片描述
想让代码继续执行,捕获异常,且让程序继续运行。try--except可以处理这样的情况。

try--except语句

numbers = [1, 0, 2, 4]

for i in numbers:
    try:
        print(1024 / i)
    except:
        print('分母不能为“0”')

从运行结果可以总结出,当i=0,try--except捕获异常,并打印出现我们提示的信息。
在这里插入图片描述
如果我们需要知道具体的报错信息,便于定位问题:

numbers = [1, 0, 2, 4]

for i in numbers:
    try:
        print(1024 / i)
    except Exception as e:
        print('分母不能为“0”')
        print(f'异常信息:{e}')

在这里插入图片描述


try--except--else语句

当没有异常发生时,执行else语句

numbers = [1, 0, 2, 4]

for i in numbers:
    try:
        print(1024 / i)
    except:
        print('分母不能为“0”')
    else:
        print('如果没有异常,执行else')

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

try--except--finally语句

不管有没有异常,finally语句都会执行。

numbers = [1, 0, 2, 4]

for i in numbers:
    try:
        print(1024 / i)
    except:
        print('分母不能为“0”')
    finally:
        print('不管有没有异常,我都会执行')

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

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值