Psycopg2错误消息

时间:2011-07-14 17:52:31

标签: python error-handling psycopg2

所有

我正在将错误消息写入日志文件,并且它变得非常大,因为它在数据库中的唯一约束上出错。这很好,它实际上是希望它这样做我的问题是,我怎样才能避免每次发生时将重复键错误写入日志文件?

        except Exception as err:
                logger.error('FunctionName: %s',  err)

谢谢, 亚当

1 个答案:

答案 0 :(得分:7)

Psycopg传递PostgreSQL错误代码以及属性pgcode中的异常:您可以验证错误实际上与唯一违规有关并避免记录它们。例如:

try:
    cursor.execute("...")
except psycopg2.IntegrityError as err:
    if err.pgcode != '23505':
        logger.error('FunctionName: %s',  err)
except Exception as err:
    logger.error('FunctionName: %s',  err)