Pantek Library
Hosting Provided By
CybrHost
High Speed Hosting

Re: Possible bug with TypeError in Python

From: Aaron Konstam <akonstam(at)sbcglobal.net>
Date: Wed Jan 30 2008 - 09:21:27 EST


On Wed, 2008-01-30 at 19:34 +0530, Anoop Chandran wrote:
>
>
> On Jan 30, 2008 7:28 PM, Mark C. Allman <mcallman@allmanpc.com> wrote:
>
> On Wed, 2008-01-30 at 07:40 -0600, Aaron Konstam wrote:
> > The following seems like an bug in python in both f7 and f8
> but I would
> > like input before I post a bugzilla. It seems the exception
> handler
> > cannot trap the TypeError in python.
> > For example:
> > def plus(a,b):
> > try:
> > return(a+b)
> > except TypeError:
> > return None
> >
> > If we define plus as above and call it with: plus(3,) we
> should get
> > nothing returned. Instead we get:
> > Traceback (most recent call last):
> > File "./calculator", line 47, in <module>
> > exec("register=op[tokens[0]](register)")
> > File "<string>", line 1, in <module>
> > TypeError: plus() takes exactly 2 arguments (1 given)
> >
> > This seems like a bug. An ideas out there?
> > --

> >
>
> If I remember right, the exception is occurring before the
> actual call
> into "plus()." Try:
> plus(3,"My String");
> and you should see the TypeError.
>
>
> try:
> a = plus(3)
> except TypeError:
> a = 0
> print a
>
> Output should be 0.
>

You are both correct but it still seems like a bug. Until you try to execute plus the system does not know that plus requires 2 arguments. But nevertheless a TypeError is generated so the exception handler should be triggered.

But you have given me further insight into the problem so I thank you all for that insight.

The question is how do I do what I want to do; that is, check that the number  of arguments to plus are correct? In the program in which I am using this construction the function executed and the arguments are generated dynamically so doing this checking is necessary.

--
=======================================================================
Whether weary or unweary, O man, do not rest, Do not cease your
single-handed struggle. Go on, do not rest. -- An old Gujarati hymn
=======================================================================
Aaron Konstam telephone: (210) 656-0355 e-mail: akonstam@sbcglobal.net

-- 
fedora-list mailing list
fedora-list@redhat.com
To unsubscribe: 
https://www.redhat.com/mailman/listinfo/fedora-list
Received on Wed Jan 30 09:22:39 2008

This archive was generated by hypermail 2.1.8 : Sun May 25 2008 - 01:09:17 EDT


Contact Us  Legal Notices  Order Services Online 
Pantek Home  Privacy Policy  IT news  Site Map  Pantek Library