I have a traceback object that I want to show in the nice format I get when calling traceback.format_exc()
.
Is there a builtin function for this? Or a few lines of code?
format_exc()
is really just
etype, value, tb = sys.exc_info()
return ''.join(format_exception(etype, value, tb, limit))
So if you have the exception type, value, and traceback ready, it should be easy. If you have just the exception, notice that format_exception()
is essentially:
a_list = ['Traceback (most recent call last):\n']
a_list = a_list + format_tb(tb, limit)
where limit
defaults to None
.
To further aid in clarifying a (simple) application of format_exc()
:
import traceback
try:
# Some code
except Exception:
print('\nThe following error occurred:\n',
traceback.format_exc(),
'Processing aborted.\n',
sep='\n')
# sys.exit(1)