[IronPython] Getting a call stack from an exception?

Martin Maly Martin.Maly at microsoft.com
Sun Jul 16 02:45:33 CEST 2006


In fact, we have already updated the tutorial with the instructions how to use IP with standard Python libraries.
While this change didn't make it into our Beta 9 release, the latest package available on codeplex (http://www.codeplex.com<http://www.codeplex.com/>) does include the updated tutorial.

Martin

________________________________
From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of J. Merrill
Sent: Saturday, July 15, 2006 1:01 PM
To: Discussion of IronPython
Subject: Re: [IronPython] Getting a call stack from an exception?

Perhaps there should be a discussion of whether the IronPython distribution should (could) include the standard CPython 2.4 libraries that are needed to give the "full" Python experience.

Perhaps your tutorial should tell people how to install CPython (it is, after all, trivial), if there's a reason that the standard libraries shouldn't go out with IP.

At 01:48 PM 7/13/2006, Lee Culver wrote


Ah yeah, my roommate asked me the same question.

There's absolutely no reason that I shouldn't be using the Python traceback library (and you should use it too).  I'm working on a tutorial for IronPython which I would like to run "out of the box" (that is, not have the end user install CPython as a dependency of the tutorial).  This is the only reason I was looking for a "pure" IronPython solution.

-Lee

________________________________
From: J. Merrill
Sent: Thursday, July 13, 2006 10:22 AM
To: Discussion of IronPython
Subject: Re: [IronPython] Getting a call stack from an exception?

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....

________________________________
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/20060715/53fc886c/attachment.html>


More information about the Ironpython-users mailing list