# symbolic_expression produces invalid traceback (TypeError)

Hello all !

In the following code I consider

```
f=RealDistribution('chisquared',10).distribution_function
```

then I provoke and catch an AttributeError on `f`

. No problems. Then I provoke and catch a TypeError with `symbolic_expression(f)`

. Once again no problem.

The fun part is that when I provoke the AttributeError and catch AttributeError and TypeError, the *next* TypeError will not be handled.

```
f=RealDistribution('chisquared',10).distribution_function
try:
f.blah()
except AttributeError:
pass
try:
f=symbolic_expression(f)
except TypeError:
print "ok"
print "Well, let's do that again"
try:
f.blah()
except AttributeError,TypeError:
pass
try:
f=symbolic_expression(f)
except TypeError:
print "ok"
```

ERROR: An unexpected error occurred while tokenizing input The following traceback may be corrupted or invalid The error message is: ('EOF in multi-line statement', (994, 0))

--------------------------------------------------------------------------- TypeError Traceback (most recent call last)/home/moky/Documents_sources/Unif/Enseignement/pey/phystricks/<ipython console=""> in <module>()

/home/moky/Sage/local/lib/python2.6/site-packages/sage/misc/session.so in sage.misc.session.attach (sage/misc/session.c:1988)()/home/moky/Sage/local/lib/python2.6/site-packages/sage/misc/preparser.pyc in load(filename, globals, attach)

1592 1593 if fpath.endswith('.py'): -> 1594 execfile(fpath, globals) 1595 elif fpath.endswith('.sage'): 1596 exec(preparse_file(open(fpath).read()) + "\n", globals)

/home/moky/Documents_sources/Unif/Enseignement/pey/phystricks/phystricksChiSquared.py in <module>() 19 20 try: ---> 21 f=symbolic_expression(f) 22 except TypeError: 23 print "ok"

/home/moky/Sage/local/lib/python2.6/site-packages/sage/calculus/all.pyc in symbolic_expression(x) 93 return vector(SR,x) 94 else: ---> 95 return SR(x) 96 97 import desolvers

/home/moky/Sage/local/lib/python2.6/site-packages/sage/structure/parent.so in sage.structure.parent.Parent.__call__ (sage/structure/parent.c:7102)()

/home/moky/Sage/local/lib/python2.6/site-packages/sage/structure/coerce_maps.so in sage.structure.coerce_maps.DefaultConvertMap_unique._call_ (sage/structure/coerce_maps.c:3254)()

/home/moky/Sage/local/lib/python2.6/site-packages/sage/structure/coerce_maps.so in sage.structure.coerce_maps.DefaultConvertMap_unique._call_ (sage/structure/coerce_maps.c:3157)()

/home/moky/Sage/local/lib/python2.6/site-packages/sage/symbolic/ring.so in sage.symbolic.ring.SymbolicRing._element_constructor_ (sage/symbolic/ring.cpp:4377)()TypeError:

Any idea to understand or fix this funny behaviour ?

Have a good night Laurent

I got some more tries. This is in fact not sage related since I can reproduce it in plain python. Catching TypeError together with an AttributeError make the next TypeError not caught. a="text" and then print a/2 ...