Ferrous Cranus <nikos.gr...@gmail.com> writes:

> Τη Πέμπτη, 24 Ιανουαρίου 2013 1:25:20 μ.μ. UTC+2, ο χρήστης Lele Gaifax 
> έγραψε:

Please, trim your response messages, cutting away useless details.

>
> I just tried this statement:
>
> ==========================================
> cursor.execute( '''INSERT INTO counters(page, hits) VALUES(%s, %s) RETURNING 
> (pin) 
>                                                               ON DUPLICATE 
> KEY UPDATE hits = hits + 1''', (htmlpage, 1) )
>       except MySQLdb.Error, e:
>               print ( "Query Error: ", sys.exc_info()[1].excepinfo()[2] )
> ==========================================
>
> and the error python tells me is:
>
> <type 'exceptions.AttributeError'>: 'ProgrammingError' object has no 
> attribute 'excepinfo' 
>       args = ("'ProgrammingError' object has no attribute 'excepinfo'",) 
>       message = "'ProgrammingError' object has no attribute 'excepinfo'"

As the error message says, you have a typo in your exception handler.

I suggest using the logging[1] module to print out such information, as it
expose a bunch of handy methods that make it easier to print the
exception, for example:

  ...
  except MySQLdb.Error:
    logging.error('Query Error!', exc_info=True)

or even

  ...
  except MySQLdb.Error:
    logging.exception('Query Error!')

ciao, lele.

[1] http://docs.python.org/2.7/library/logging.html#module-logging
-- 
nickname: Lele Gaifax | Quando vivrò di quello che ho pensato ieri
real: Emanuele Gaifas | comincerò ad aver paura di chi mi copia.
l...@metapensiero.it  |                 -- Fortunato Depero, 1929.

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

Reply via email to