【发布时间】:2015-05-31 12:03:40
【问题描述】:
大多数 Python 错误都会产生回溯,显示违规语句的行号。但由于某种原因,一些运行时错误不会。
例如,在仅包含两行的模块上运行“python -m mymodule.py”:
args = {}
if len(args > 2): print("this is a run-time error. Should be: len(args) > 2")
失败:
c:\python34\python.exe: Error while finding spec for 'mymodule.py' (<class 'TypeError'>: unorderable types: dict() > int())
此代码示例来自一个更大的模块,该模块失败了,并且没有行号,因此很难找到编码错误。
【问题讨论】:
-
你总是可以打印一些东西来看看代码在失败之前能走多远。我知道你不能一直这样做,但对于一次性错误它很有用:)
标签: python numbers runtime-error line traceback