我正在尝试使用traceback将异常传递给我的main函数,但它没有按预期工作。
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
答案 0 :(得分:2)
traceback是模块的名称,尝试使用它的方法,比如traceback.print_stack()
,它会打印出堆栈跟踪,就像你没有发现错误时一样。
点击此处了解详情:traceback doc
您可以使用traceback.extract_stack()
获取堆栈元组列表