【发布时间】:2011-03-20 20:21:02
【问题描述】:
except ImportError as xcpt:
print "Import Error: " + xcpt.message
在 2.6 中收到弃用警告,因为消息正在消失。 Stackoverflow
您应该如何处理 ImportError? (注意,这是一个内置的异常,不是我自己做的......)
【问题讨论】:
except ImportError as xcpt:
print "Import Error: " + xcpt.message
在 2.6 中收到弃用警告,因为消息正在消失。 Stackoverflow
您应该如何处理 ImportError? (注意,这是一个内置的异常,不是我自己做的......)
【问题讨论】:
正确的做法是
xcpt.args
只有message 属性会消失。异常将继续存在,并且将继续有参数。
阅读此内容:http://www.python.org/dev/peps/pep-0352/ 删除messages 属性有一些合理性。
【讨论】:
如果要打印异常:
print "Couldn't import foo.bar.baz: %s" % xcpt
异常定义了一个__str__ 方法来创建它们自身的可读版本。我不会为“导入错误:”而烦恼,因为异常会自行提供。如果您向异常添加文本,请根据您尝试执行的代码使其成为您所知道的内容。
【讨论】: