On 16/11/2011 17:09, Chris Kaynor wrote:
On Wed, Nov 16, 2011 at 8:57 AM, Frederic Rentsch
<anthra.nor...@bluewin.ch>  wrote:
Hi all,


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 Exception, e: (or, in Py3, except Exception as e is prefereed).

In Python 3, "except Exception as e" is not just preferred: it's the
only form.

Note that you should generally avoid bare except statements "except:"
as that will catch everything, including KeyboardInterrupt and
SystemExit which may not be desirable.

[snip]

Very true.
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to