Я хотел бы поймать и зарегистрировать предупреждения MySQL в Python. Например, MySQL выдает предупреждение стандартной ошибке, если вы отправляете 'DROP DATABASE IF EXISTS database_of_armaments'
, когда такая база данных не существует. Я хотел бы поймать это и зарегистрировать его, но даже в синтаксисе try/else предупреждение появляется еще.
Синтаксис try/except вызывает ошибки MySQL (например, представление опечатки типа 'DRP DATABASE database_of_armaments'
).
Я экспериментировал с <<except.MySQLdb.Warning>>
- не повезло. Я просмотрел модуль предупреждений, но не понимаю, как включить его в синтаксис try/else.
Чтобы быть конкретным, как мне получить следующее (или что-то вроде этого) для работы.
GIVEN: базы данных "database_of_armaments" не существует.
try:
cursor.execute('DROP DATABASE IF EXISTS database_of_armaments')
except: <<WHAT DO I PUT HERE?>>
print 'There was a MySQL warning.'
<<AND what goes here if I want to get and manipulate information about the warning?>>
UPDATE:
Спасибо за комментарии. Я пробовал их, но они не работали, но я использовал класс DatabaseConnection, который я написал для подключения, и его метод runQuery() для выполнения. Когда я создал соединение и курсор вне класса, try/except Exception уловил "Ошибка программирования", и кроме MySQLdb.ProgrammingError работал как рекламируемый.
Итак, теперь я должен выяснить, что не так с моим классом.
Благодарим вас за помощь.