首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Python中获取异常值

在Python中获取异常值
EN

Stack Overflow用户
提问于 2010-11-30 05:16:12
回答 5查看 325.8K关注 0票数 302

如果我有代码:

代码语言:javascript
复制
try:
    some_method()
except Exception, e:

如何获取这个异常值(我指的是字符串表示)?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-11-30 05:18:19

使用str

代码语言:javascript
复制
try:
    some_method()
except Exception as e:
    s = str(e)

而且,大多数异常类都有一个args属性。通常,args[0]将是一条错误消息。

应该注意的是,如果没有错误消息,仅使用str将返回空字符串,而按照pyfunc推荐的方式使用repr至少会显示异常的类。我的观点是,如果你要打印出来,它是为终端用户准备的,他们不关心类是什么,只想要一个错误消息。

这实际上取决于您正在处理的异常的类别以及它是如何实例化的。你有什么特别的想法吗?

票数 416
EN

Stack Overflow用户

发布于 2013-10-16 06:04:08

尽管我意识到这是一个老问题,但我还是建议使用traceback module来处理异常的输出。

使用traceback.print_exc()将当前异常打印到标准错误,就像打印未捕获的异常一样,或者使用traceback.format_exc()获得与字符串相同的输出。如果要限制输出,或者将打印重定向到类似文件的对象,可以将各种参数传递给这两个函数中的任何一个。

票数 42
EN

Stack Overflow用户

发布于 2020-01-17 02:36:58

要检查错误消息并对其执行某些操作(使用Python 3)...

代码语言:javascript
复制
try:
    some_method()
except Exception as e:
    if {value} in e.args:
        {do something}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4308182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档