如果我有代码:
try:
some_method()
except Exception, e:
如何获取这个异常值(我指的是字符串表示)?
发布于 2010-11-30 05:18:19
使用str
try:
some_method()
except Exception as e:
s = str(e)
而且,大多数异常类都有一个args
属性。通常,args[0]
将是一条错误消息。
应该注意的是,如果没有错误消息,仅使用str
将返回空字符串,而按照pyfunc推荐的方式使用repr
至少会显示异常的类。我的观点是,如果你要打印出来,它是为终端用户准备的,他们不关心类是什么,只想要一个错误消息。
这实际上取决于您正在处理的异常的类别以及它是如何实例化的。你有什么特别的想法吗?
发布于 2013-10-16 06:04:08
尽管我意识到这是一个老问题,但我还是建议使用traceback
module来处理异常的输出。
使用traceback.print_exc()
将当前异常打印到标准错误,就像打印未捕获的异常一样,或者使用traceback.format_exc()
获得与字符串相同的输出。如果要限制输出,或者将打印重定向到类似文件的对象,可以将各种参数传递给这两个函数中的任何一个。
发布于 2020-01-17 02:36:58
要检查错误消息并对其执行某些操作(使用Python 3)...
try:
some_method()
except Exception as e:
if {value} in e.args:
{do something}
https://stackoverflow.com/questions/4308182
复制相似问题