python exception

本文介绍了Python中的异常处理,包括常见异常格式、如何跨越多层调用捕获错误以及如何自定义异常。强调了捕获异常的重要性,允许程序在遇到错误时继续执行,并提供了关于Python异常继承层次结构的链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        有一类错误是完全无法在程序运行过程中预测的,比如从网络抓取数据,网络突然断掉了。这类错误也称为异常,在程序中通常是必须处理的,否则,程序会因为各种问题终止并退出。

1、常见格式

# a = '0'
# a = '*'
a = '1'
try:
    r = 10 / int(a)
    print('result:', r)
except ValueError as e:
    print('ValueError:', e)
except ZeroDivisionError as e:
    print('ZeroDivisionError:', e)
else:
    print('no error!')
finally:
    print('finally...')
print('END')

         如果int()函数发生错误(对应ValueError)或者分母为0(对应ZeroDivisionError),后续语句print('result:', r)不会被执行;如果没有错误发生,则会执行else语句;无论错误是否发生,finally语句一定会被执行。最后,程序继续按照流程往下走,执行print('END')语句。

1.1注意事项         

        Python的错误其实也是class,都继承自BaseException。如果程序写成:先except父类,再except子类,则永远捕获不到子类错误。比如下面,ValueError是UnicodeError的父类,则当错误发生时,程序只会捕获ValueError,永远捕获不到UnicodeError。

  另外,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值