我正在尝试通过回溯将异常传递给我的主要功能,但其无法正常工作。
import sys
import traceback
def test_function():
return 0/0
def task1():
try:
a = 1
test_function()
except Exception as e:
print e
traceback = sys.exc_info()[2]
raise Exception(), 'Error message', traceback
def main():
try:
task1()
except Exception, e:
print e
print 'start'
main()
print 'end'
这是我的结果:
start
integer division or modulo by zero
instance exception may not have a separate value
end
最佳答案
traceback是模块的名称,请尝试使用其方法,例如traceback.print_stack()
,它将像未发现错误时看到的那样打印出堆栈跟踪。
在此处查看更多信息:traceback doc
您可以使用traceback.extract_stack()
获取堆栈的元组列表
关于python - 在python异常中获取回溯,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47618901/