返回介绍

默认打印和状态

发布于 2024-01-29 22:24:14 字数 632 浏览 0 评论 0 收藏 0

内置异常还提供了默认打印显示和状态保持,它往往和用户定义的类所需的逻辑一样的多。除非你重新定义了类继承自它们的构造函数,传递给这些类的任何构造函数参数都会保存在实例的args元组属性中,并且当打印该实例的时候自动显示(如果没有传递构造函数参数,则使用一个空的元组和显示字符串)。这说明了为什么传递给内置异常类的参数会出现在出错消息中,当打印实例的时候,附加给实例的任何构造函数参数就会显示:

对于用户定义的异常也是如此,因为它们继承了其内置超类中存在的构造函数和显示方法:

注意,该异常实例对象并非字符串自身,但是,当打印的时候,使用我们在第29章介绍的__str__运算符重载协议来提供显示字符串;要连接真正的字符串,执行手动转换:str(X)+"string"。

尽管这种自动状态和现实支持本身是有用的,但对于特定的显示和状态保持需求,你总是可以重新定义Exception子类中的__str__和__init__这样的继承方法,下一小节介绍如何做到这一点。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文