你会如何解释在 Python 中异常是一个对象?


是的,在给定的代码中,“err”是一个异常对象。

在 Python 中,一切都称为对象。每个对象都有属性和方法。因此,异常就像列表、函数、元组等都是对象。所以异常也像其他对象一样有属性。可以按如下方式设置和访问这些属性。异常有基本类,几乎所有其他异常都是其子类。如果 e 是一个异常对象,那么 e.args 和 e.message 是其属性。

在当前的 Python 实现中,异常由三部分组成:类型、值和回溯。sys 模块在三个变量(exc_type、exc_value 和 exc_traceback)中描述了当前的异常对象。

sys.exc_info() 函数返回这三个属性的元组,而 raise 语句有接受这三个部分的三元式形式。

给定的代码给出以下输出

(<type 'exceptions.ValueError'>, ValueError('could not convert
string to int: Godzilla!',), <traceback object at 0x0000000002E33748>)

更新于: 2019-09-26

172 浏览

职业生涯起步

通过完成课程获得认证

开始学习
广告