Hello,

I rather often use exceptions as information providers at design or debug time. 
A typical use
of mine is to have a test version of methods that wrap standard version:

def run():
        do stuff
        that may
        raise exc
def testRun():
        try:
                run()
        except Error,error:
                sys.error.write(str(error))

So that I can run a bunch of (possibly failing) tests and still get all 
worthful info.
Now, the drawback is that I then lose python provided traceback, as for any 
reason str(exc) does
not return tracback, only the "message". To have the traceback I planned to 
catch the traceback
manually. The aims whare:
* be able to output the tracback prepended to the message, when useful 
* try to find a more readable (for me) format
* filter it: e.g. print only last trace mark of each module
If you have ideas on the best way to do this, thanks.

I tried to use sys.exc_info() that returns a (type,value,traceback) tuple and 
the format_tb()
function of the traceback module. *Sometimes* I get the traceback as expected 
and all is fine. But
in most cases sys.exc_info() returns (None,None,None) like if there was 
absolutely no active
exception. I cannot consistently reproduce the issue to make a clear diagnosis.

Thank you,
Denis

------
la vida e estranya
_______________________________________________
Tutor maillist  -  [email protected]
http://mail.python.org/mailman/listinfo/tutor

Reply via email to