在我的代码中,我遇到了TypeError
异常,导致代码崩溃。在这个特定的程序中(我创建了一个测试文件来重现错误并且不能)回溯只显示TypeError: 'int' object is unsubscriptable
而没有关于它发生位置的信息。我尝试在函数调用之前创建自己的异常,这必须由1[0]
发生并且遇到同样的问题。当我尝试通过foo_that_doesn't_exist()
引发不同类型的异常时,我得到了错误发生位置的正确回溯。我正在运行IronPython解释器,并且由于对C#代码的依赖,我无法使用CPython进行测试。
编辑:我在我自己的代码中找到了问题,然后找到了重现它的方法。可以使用以下方式重新创建问题:
import traceback
import sys
try:
try:
1[0]
except:
raise
except:
traceback.print_tb(sys.exc_info()[2])
在以下情况下不返回任何内容:
import traceback
import sys
try:
1[0]
except:
traceback.print_tb(sys.exc_info()[2])
返回
File "a.py", line 6, in <module>
1[0]