[IPython-dev] ipython1 saw exception transport and raising
Doug Jones
dfj225 at gmail.com
Mon Aug 27 10:16:59 EDT 2007
Fernando,
First, sorry that it has taken me so long to respond.
Second, I have updated my ipython1 source and the behavior on my end
seems to be correct as well. I am testing with exceptions generated
from Boost.Python and now all information associated with the
exceptions seems to be displayed, including the correct traceback on
the engine.
Thank you,
~Doug
On 8/15/07, Fernando Perez <fperez.net at gmail.com> wrote:
> On 7/16/07, Doug Jones <dfj225 at gmail.com> wrote:
>
> > As you see, some of the information that is part of the ArgumentError
> > is either not transported or not displayed. Unlike last time, I don't
> > really have any ideas as to why.
>
> OK, I think I got it finally... Please svn up and let us know. Here's
> what I'm getting for simple tests:
>
> ZeroDivisionError: integer division or modulo by zero
> ***************************************************************************
> Exception in the IPython Engine.
>
> Engine action that caused the error:
>
> engine: 0
> method: execute(lines)
> lines =
> import os
> os.chdir('/home/fperez/ipython/test/ip1')
> import err
> err.bad()
> #abd snytxx
>
>
> Full traceback:
> ---------------------------------------------------------------------------
> ZeroDivisionError Traceback (most recent call last)
>
> /home/fperez/ipython/test/ip1/<string> in <module>()
>
> /home/fperez/ipython/test/ip1/err.py in bad()
> 14
> 15 def bad():
> ---> 16 1/0
> 17
> 18 #bad()
>
> ZeroDivisionError: integer division or modulo by zero
> ***************************************************************************
>
> WARNING: Failure executing file: <tst.py>
>
>
> Syntax errors are reported with a clumsy traceback:
>
> SyntaxError: invalid syntax (line 5)
> ***************************************************************************
> Exception in the IPython Engine.
>
> Engine action that caused the error:
>
> engine: 0
> method: execute(lines)
> lines =
> import os
> os.chdir('/home/fperez/ipython/test/ip1')
> import err
> err.bad()
> abd snytxx
>
>
> Full traceback:
> ---------------------------------------------------------------------------
> SyntaxError Traceback (most recent call last)
>
> /home/fperez/usr/lib/python2.5/site-packages/ipython1/core/interpreter.py
> in split_commands(self, python)
> 511 # Uncomment to help debug the ast tree
> 512 # for n in ast.node:
> --> 513 # print n.lineno,'->',n
> 514
> 515 # Each separate command is available by iterating over
> ast.node. The
>
> /home/fperez/ipython/test/ip1/compiler/transformer.py in parse(buf, mode)
> 50
> 51
> ---> 52
> 53
> 54
>
> /home/fperez/ipython/test/ip1/compiler/transformer.py in parsesuite(self, text)
> 127
> 128
> --> 129
> 130
> 131
>
> SyntaxError: invalid syntax (line 5)
> ***************************************************************************
>
>
> WARNING: Failure executing file: <tst.py>
>
>
> But the info is really all there. It's just that managing traceback
> formatting across the network in this way is not particularly easy,
> and I'm a bit too fried now to do more...
>
> But at least now we are getting all the necessary info across, even if
> for syntax errors the report isn't the nicest.
>
> Cheers,
>
> f
>
More information about the IPython-dev
mailing list