@beduin01

Как поймать ошибку в запросе psycopg2?

Есть код:

def removeEmail(email):
    try:
        print(email)
        sql = """DELETE FROM "НеправильнаяТаблица" WHERE email = 'me@me.com'"""
        cur.execute(sql)
        return successResponse
    except psycopg2.Error as e:
        logging.exception(e.pgerror)
        return failResponse


Данный код поймает ошибку в драйвере, но не в самом запросе. Как быть если нужно ошибку в запросе поймать?

UPD: прощу прощения, оно падает, только ошибка пишется в файл лога, поэтому падение не заметно проходит.
  • Вопрос задан
  • 1028 просмотров
Пригласить эксперта
Ответы на вопрос 2
BuriK666
@BuriK666
Компьютерный псих
В коде не должно быть запросов с ошибками.
Ответ написан
Комментировать
@Cenzor
Есть сабкласс Error'а - DatabaseError.
А также помимо pgerror, есть pgcode и diag, например, в вашем случае можно посмотреть на вывод print(e.diag.message_primary)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы