Add traceback.format_exc().

This commit is contained in:
Neil Schemenauer 2003-11-05 23:03:00 +00:00
parent 904ed86a77
commit f607fc5395
4 changed files with 22 additions and 7 deletions

View file

@ -6,8 +6,8 @@ import types
__all__ = ['extract_stack', 'extract_tb', 'format_exception',
'format_exception_only', 'format_list', 'format_stack',
'format_tb', 'print_exc', 'print_exception', 'print_last',
'print_stack', 'print_tb', 'tb_lineno']
'format_tb', 'print_exc', 'format_exc', 'print_exception',
'print_last', 'print_stack', 'print_tb', 'tb_lineno']
def _print(file, str='', terminator='\n'):
file.write(str+terminator)
@ -211,6 +211,16 @@ def print_exc(limit=None, file=None):
finally:
etype = value = tb = None
def format_exc(limit=None):
"""Like print_exc() but return a string."""
try:
etype, value, tb = sys.exc_info()
return ''.join(format_exception(etype, value, tb, limit))
finally:
etype = value = tb = None
def print_last(limit=None, file=None):
"""This is a shorthand for 'print_exception(sys.last_type,
sys.last_value, sys.last_traceback, limit, file)'."""