我很难找到任何关于如何在AsyncPG中处理错误的例子。我正在执行这个查询:
await pg_con.execute("UPDATE users set x = $1, y = $2 WHERE z = $3", x, y, z)我希望能够捕获任何SQL错误,例如记录不存在时。我该怎么做呢?
发布于 2021-09-25 15:51:28
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), etchttps://stackoverflow.com/questions/68008508
复制相似问题