Следующий фрагмент:
import traceback
def a():
b()
def b():
try:
c()
except:
traceback.print_exc()
def c():
assert False
a()
Производит этот вывод:
Traceback (most recent call last):
File "test.py", line 8, in b
c()
File "test.py", line 13, in c
assert False
AssertionError
Что следует использовать, если я хочу, чтобы полная трассировка стека включала вызов?
Если это имеет значение, у меня есть Python 2.6.6
edit: То, что я хотел бы получить, - это та же самая информация, которую я получил бы, если бы я оставил попытку, кроме исключения, и пусть исключение распространяется на верхний уровень. Этот фрагмент, например:
def a():
b()
def b():
c()
def c():
assert False
a()
Производит этот вывод:
Traceback (most recent call last):
File "test.py", line 10, in <module>
a()
File "test.py", line 2, in a
b()
File "test.py", line 5, in b
c()
File "test.py", line 8, in c
assert False
AssertionError