打印Python异常的正确方法是什么?
except ImportError as xcpt:
print "Import Error: " + xcpt.message
在2.6版本中,你会收到一个弃用警告,因为这个消息要被去掉了。Stackoverflow
你应该如何处理ImportError?(注意,这是一种内置的异常,不是我自己定义的……)
2 个回答
2
如果你想打印出错误信息:
print "Couldn't import foo.bar.baz: %s" % xcpt
错误(异常)有一个叫做 __str__
的方法,这个方法可以把错误信息变得更容易理解。我建议你不要再加上“导入错误:”这样的文字,因为错误本身会告诉你这些信息。如果你想在错误信息中添加一些文字,最好是根据你正在执行的代码来写一些你知道的内容。
9
正确的方法是
xcpt.args
只有 message
这个属性会被去掉。其他的异常依然会存在,并且它们仍然会有参数。
可以看看这个链接:http://www.python.org/dev/peps/pep-0352/,里面有一些关于为什么要去掉 messages
属性的理由。