Python 中的内置异常

本文介绍了Python中异常处理的基础,包括BaseException和Exception类的层次关系,以及ArithmeticError、BufferError和LookupError等具体内置异常的用法和示例。强调了Python中实例必须基于BaseException派生的重要性。

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

Python 中的所有实例都必须是派生自BaseException的类的实例。不通过子类化相关的两个异常类永远不会等效,即使它们具有相同的名称。内置异常可以由解释器或内置函数生成。

Python 中有几个内置异常,当发生错误时会引发这些异常。可以使用local()内置函数查看这些内置异常,如下所示:

locals()[‘builtins’]
这将返回内置异常、函数和属性的字典。

基类

以下异常主要用作其他异常的基类。

异常 BaseException
这是所有内置异常的基类。它并不意味着由用户定义的类直接继承。对于用户定义的类,使用 Exception。此类负责使用传递的参数使用 str() 创建异常的字符串表示形式。如果没有参数,则返回空字符串。
args : args 是提供给异常构造函数的参数元组。
with_traceback(tb) :该方法通常用于异常处理。此方法将 tb 设置为异常的新回溯并返回异常对象。
代码 :

尝试:

除了一些异常:

tb = sys.exc_info()[2]
引发 OtherException(…).with_traceback(tb)

异常 Exception

这是所有内置非系统退出异常的基类。所有用户定义的异常也应该从此类派生。

异常 ArithmeticError

此类是因各种算术错误引发的内置异常的基类,例如:
溢出错误
零除法错误
浮点错误
例子 :

try:   
    a = 10/0  
    print (a) 
except ArithmeticError:   
        print ("This statement is raising an arithmetic exception.") 
else:   
    print ("Success.") 

输出 :

该语句引发算术异常。

异常 BufferError

当无法执行缓冲区相关操作时会引发此异常。

异常 LookupError

这是当映射或序列上使用的键或索引无效或未找到时引发的异常的基类。提出的例外情况是:
按键错误
索引错误
例子 :

try:  
    a = [1, 2, 3]  
    print (a[3])  
except LookupError:  
    print ("Index out of bound error.") 
else:  
    print ("Success") 

输出 :

索引越界错误。

具体例外情况

以下异常是通常引发的异常。

点击查看文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Q shen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值