gpt4 book ai didi

python - 如何使用 AsyncPG 捕获 SQL 错误?

转载 作者:行者123 更新时间:2023-12-05 05:59:46 28 4
gpt4 key购买 nike

我很难找到有关如何在 AsyncPG 中处理错误的任何示例。我正在执行这个查询:

await pg_con.execute("UPDATE users set x = $1, y = $2 WHERE z = $3", x, y, z)

我希望能够捕获任何 SQL 错误,例如记录不存在。我该怎么做?

最佳答案

asyncpg 具有包含所有可能异常的模块异常。您可以捕获特定的错误,例如:

import asyncpg
try:
await pg_con.execute("UPDATE users set x = $1, y = $2 WHERE z = $3", x, y, z)
except asyncpg.ForeignKeyViolationError as e:
print('error occurred', e)

或者只是捕获 asyncpg.PostgresError 甚至是 Exception。此外,有时很容易在 python 解释器中检查异常详细信息:

try:
await pg_con.execute(query)
except Exception as e:
breakpoint() # then use e.__class__, e.args, dir(e), etc

关于python - 如何使用 AsyncPG 捕获 SQL 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68008508/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com