try - except. How to identify errors unknown in advance?
Dan Sommers
dan at tombstonezero.net
Wed Nov 16 20:07:37 EST 2011
On Wed, 16 Nov 2011 17:57:27 +0100, Frederic Rentsch wrote:
> I'd like to log MySQL errors. If I do:
>
> try: (command)
> except MySQLdb.OperationalError, e: print e
>
> I may get something like:
>
> (1136, "Column count doesn't match value count at row 1")
>
> If I don't know in advance which error to expect, but on the contrary
> want to find out which error occurred, I can catch any error by omitting
> the name:
>
> except: (handle)
>
> But now I don't have access to the error message 'e'. I'm sure there's a
> way and it's probably ridiculously simple.
"except" catches any exception that inherits from its argument, and all
MySQL exceptions inherit from MySQLError, so something like this will
catch only MySQL exceptions and nothing else:
try: (command)
except MySQLdb.MySQLError as e:
print(e)
Dan
More information about the Python-list
mailing list