来自 this question ,我现在正在向下一级进行错误处理。也就是说,我调用一个调用另一个更大函数的函数,我想要它在那个更大的函数中失败的地方,而不是在更小的函数中。具体例子。代码是:
import sys, os
def workerFunc():
return 4/0
def runTest():
try:
print workerFunc()
except:
ty,val,tb = sys.exc_info()
print "Error: %s,%s,%s" % (
ty.__name__,
os.path.split(tb.tb_frame.f_code.co_filename)[1],
tb.tb_lineno)
runTest()
输出是:
Error: ZeroDivisionError,tmp2.py,8
但第 8 行是“print workerFunc()”——我知道该行失败了,但我想要之前的行:
Error: ZeroDivisionError,tmp2.py,4
最佳答案
关于python - 当我捕捉到异常时,如何获取上一帧的类型、文件和行号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1291438/