MySQL Error

Benjamin Kaplan benjamin.kaplan at case.edu
Fri Jan 1 14:04:34 EST 2010


On Fri, Jan 1, 2010 at 1:32 PM, Victor Subervi <victorsubervi at gmail.com> wrote:
> On Fri, Jan 1, 2010 at 12:10 PM, MRAB <python at mrabarnett.plus.com> wrote:
>>
>> Victor Subervi wrote:
>>>
>>> Hi;
>>> I'm trying to avoid the mortal sin of blank excepts. I intentionally
>>> threw this error:
>>>
>>> Traceback (most recent call last):
>>>  File "/var/www/html/angrynates.com/cart/createAssociations2.py
>>> <http://angrynates.com/cart/createAssociations2.py>", line 137, in ?
>>>    createAssociations2()
>>>  File "/var/www/html/angrynates.com/cart/createAssociations2.py
>>> <http://angrynates.com/cart/createAssociations2.py>", line 108, in
>>> createAssociations2
>>>    cursor.execute(sql)
>>>  File "/usr/lib64/python2.4/site-packages/MySQLdb/cursors.py", line 163,
>>> in execute
>>>    self.errorhandler(self, exc, value)
>>>  File "/usr/lib64/python2.4/site-packages/MySQLdb/connections.py", line
>>> 35, in defaulterrorhandler
>>>    raise errorclass, errorvalue
>>> ProgrammingError: (1146, "Table 'test.productsAssociations' doesn't
>>> exist")
>>>
>>> However, "ProgrammingError" is not an error. How do I discover the real
>>> error, so I can write the appropriate except statement?
>>>
>> What makes you think it isn't?
>
> Because I've tried
> except ProgrammingError:
>   pass
> before and *that* threw an error. So I didnt' try again.
> beno

Just because it's not in the current namespace doesn't mean it's not
an error. From PEP 249 (the db api v2) :

  ProgrammingError

            Exception raised for programming errors, e.g. table not
            found or already exists, syntax error in the SQL
            statement, wrong number of parameters specified, etc.  It
            must be a subclass of DatabaseError.





>
> --
> http://mail.python.org/mailman/listinfo/python-list
>
>



More information about the Python-list mailing list