[IronPython] Getting a call stack from an exception?

J. Merrill jvm_cop at spamcop.net
Thu Jul 13 19:22:25 CEST 2006


Could someone explain to this interested observer what is missing when the standard Python traceback functionality is used?  Writing IronPython-specific code that isn't specifically involved in interacting with .Net seems against the "you can run the same Python code anywhere" notion that I expect to see.

Or did you mean "using the IronPython Engine" (aka "in pure C# code") when you said "in pure IP"?  The sample code, after all, was Python and not calls to the IronPython Engine....

At 04:46 PM 7/12/2006, Dino Viehland wrote

>It shouldn’t be too hard to just get the line numbers & filenames – the nice thing that the standard traceback.py file gives you is it can get the lines of source code and include it in the displayed call stack as well.
> 
>From: Lee Culver
>Sent: Wednesday, July 12, 2006 1:39 PM
>To: Discussion of IronPython
>Subject: Re: [IronPython] Getting a call stack from an exception?
> 
>I’m probably going to just reimplement the functionality in pure IP.  If I get anywhere with it I’ll post it up here.
> 
>
>----------
>From: Alex Henderson
>Sent: Wednesday, July 12, 2006 1:37 PM
>To: 'Discussion of IronPython'
>Subject: Re: [IronPython] Getting a call stack from an exception?
> 
>I would be interested to know how you get on with this problem Lee - I’ve got the same issue myself.
> 
>Chez,
> 
>  - Alex
> 
>
>----------
>From: Lee Culver
>Sent: Thursday, 13 July 2006 6:57 a.m.
>To: Discussion of IronPython
>Subject: Re: [IronPython] Getting a call stack from an exception?
> 
>Yikes.  I was hoping for a way to do it in pure IronPython.  Thanks though.
> 
>
>----------
>From: Dino Viehland
>Sent: Wednesday, July 12, 2006 11:54 AM
>To: Discussion of IronPython
>Subject: Re: [IronPython] Getting a call stack from an exception?
> 
>Tracebacks are the correct way to do this, I recommend you install the standard Python library against IronPython to make this really useful – then you can do import traceback and use its handy functions (otherwise you’ll be walking the traceback list in sys.exc_info() which won’t be much fun).
> 
>From: Lee Culver
>Sent: Wednesday, July 12, 2006 11:49 AM
>To: Discussion of IronPython
>Subject: [IronPython] Getting a call stack from an exception?
> 
>I would like to print out a call stack from an exception object, much like what the IronPython console does when an exception goes uncaught.  I have tried doing something like this:
> 
>try:
>    
 #something that causes an exception
>except Exception, e:
>    print e
> 
>But, like python, this only prints out the message given to it.  I have also tried this:
>    print e.clsException
>    print e.clsException.StackTrace
> 
>But these print out the stack trace which includes the IronPython library c# code as well.  Is there a way to get the stack trace which only contains the python call stack (like the one the console uses)?
> 
>Thanks
>-Lee


J. Merrill / Analytical Software Corp
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20060713/75a95140/attachment.html>


More information about the Ironpython-users mailing list