1

我是 Python 新手,所以请原谅我的基本问题。当我收到错误时,我通常可以找出是哪条线路导致了错误,但有时从错误消息本身我无法确定哪条线路负责。所以我在字里行间添加了一些消息来跟踪问题。有没有更有效的解决方案?我正在从 ArcGIS 工具箱脚本运行我的代码,我不确定是否可以从那里追踪错误。

4

2 回答 2

0

我总是使用print语句(好的,Py3 中的函数)。这是最标准的方式。只需使用它来跟踪您现在在程序中的位置,以及您在做什么。

但是,如果您的应用程序处理大量数据,或者如果它是一个大型应用程序,那么print语句可能是不够的。有时,您需要tryexcept语句,只是为了缩小错误的搜索范围。

更多关于错误处理?这里

也可能有用。

于 2013-10-10T00:53:17.457 回答
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)

否则只需阅读回溯

于 2013-10-10T00:56:56.300 回答