16.5.3 traceback异常
TracebackException类是高层接口,可以在处理traceback时构建一个StackSummary。
import traceback
import sys
from traceback_example import produce_exception
print('with no exception:')
exc_type,exc_value,exc_tb = sys.exc_info()
tbe = traceback.TracebackException(exc_type,exc_value,exc_tb)
print(''.join(tbe.format()))
print('\nwith exception:')
try:
produce_exception()
except Exception as err:
exc_type,exc_value,exc_tb = sys.exc_info()
tbe = traceback.TracebackException(
exc_type,exc_value,exc_tb,
)
print(''.join(tbe.format()))
print('\nexception only:')
print(''.join(tbe.format_exception_only()))
format()方法生成完整traceback的格式化版本,而format_exception_only()只显示异常消息。