栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在Python中正确获取异常消息

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在Python中正确获取异常消息

如果查看内置错误的文档,则会看到大多数

Exception
类将其第一个参数分配为
message
属性。并非所有人都这样做。

值得注意的是,

EnvironmentError
(与子类
IOError
和
OSError
)具有的第一自变量
errno
,第二的
strerror
。没有
message
…
strerror
大致类似于通常的
message
。

更一般而言,的子类

Exception
可以执行他们想要的任何操作。它们可能具有也可能没有
message
属性。将来的内置
Exception
可能没有
message
属性。
Exception
从第三方库或用户代码导入的任何子类都可能没有
message
属性。

我认为处理此问题的正确方法是,识别

Exception
要捕获的特定子类,然后仅捕获那些子类,而不是所有带有的
exceptException
子类,然后利用特定子类定义的所需属性。

如果您必须执行

print
某些操作,则我认为打印捕获到的
Exception
自身最有可能执行您想要的操作,无论它是否具有
message
属性。

您也可以像这样检查消息属性,但我不会真正建议它,因为它看起来很混乱:

try:    passexcept Exception as e:    # Just print(e) is cleaner and more likely what you want,    # but if you insist on printing message specifically whenever possible...    if hasattr(e, 'message'):        print(e.message)    else:        print(e)


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/640837.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号