栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > 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号