我是Python的新手,请原谅我的基本问题。 当我收到错误时,我通常可以找出导致错误的行,但有时从错误消息本身我无法确定哪一行负责。所以我在行之间添加一些消息来跟踪问题。有没有更有效的解决方案呢? 我从ArcGIS工具箱脚本运行我的代码,我不确定是否可以从那里追踪错误。
答案 0 :(得分:0)
我总是使用print
语句(好吧,Py3中的函数)。这是最标准的方式。只需用它来跟踪你现在在程序中的位置,以及你在做什么。
但是,如果您的应用程序处理大型数据,或者它是一个大型应用程序,print
语句可能还不够。有时,您需要try
和except
语句,只是为了缩小对错误的搜索范围。
有关错误处理的更多信息? Here!
This也可能有用。
答案 1 :(得分:0)
如果您尝试使用例外错误执行此操作,请执行以下操作:
import traceback
import sys
try:
raise Exception("foo")
except:
for frame in traceback.extract_tb(sys.exc_info()[2]):
fname,lineno,fn,text = frame
print "Error in %s on line %d" % (fname, lineno)
否则只需阅读追溯