Possible bug with TypeError in Python

Cameron Simpson cs at zip.com.au
Wed Jan 30 20:16:06 UTC 2008


On 30Jan2008 07:40, Aaron Konstam <akonstam at sbcglobal.net> 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?

The 'b' argument to plus() is not optional. This isn't Perl.  plus()
is not being called, and your try/except is not being reached.

Not a bug.
-- 
Cameron Simpson <cs at zip.com.au> DoD#743
http://www.cskk.ezoshosting.com/cs/

Just because Unix is a multiuser system doesn't mean I want to share it with
anybody!        - Paul Tomblin, in rec.aviation.military




More information about the fedora-list mailing list