在python异常中获取回溯
我试图通过回溯将异常传递给我的主函数,但它并没有按预期工作在python异常中获取回溯,python,Python,我试图通过回溯将异常传递给我的主函数,但它并没有按预期工作 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]
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\u stack()
,它将打印stacktrace,就像您在未捕获错误时看到的那样
更多信息请参见此处:
您可以使用
traceback.extract_stack()
获取堆栈的元组列表,这些元组是您导入的traceback,然后在except子句中重新分配的。你可以在这篇文章中找到你所需要的:可能的副本