On 8/21/07, billiejoex <[EMAIL PROTECTED]> wrote: > Hi there, > I'm facing a case where I need to get the traceback outptut when > occurring an exception. > I solved such problem by using traceback module in conjunction with > StringIO: > > import StringIO, traceback > try: > raise Exception > except: > f = StringIO.StringIO() > traceback.print_exc(file=f) > print f.getvalue() > > ... but this seems a little poor to me since I first put output into > the StringIO.StringIO(), then I get it back by using getvalue() on > it. > Is there a way to avoid the use of StringIO and get such output > without using such (useless) additional step?
If you just want to print the output (as in your example), you can use file=sys.stdout or file=sys.stderr in the call to print_exc. If you want to store the traceback into a string for some other purpose (e.g. logging, email notifications) I believe that you must use a StringIO object. -- Evan Klitzke <[EMAIL PROTECTED]> -- http://mail.python.org/mailman/listinfo/python-list