首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用AsyncPG捕获SQL错误?

如何使用AsyncPG捕获SQL错误?
EN

Stack Overflow用户
提问于 2021-06-17 02:52:59
回答 1查看 78关注 0票数 1

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

代码语言:javascript
复制
await pg_con.execute("UPDATE users set x = $1, y = $2 WHERE z = $3", x, y, z)

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

EN

回答 1

Stack Overflow用户

发布于 2021-09-25 15:51:28

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

代码语言:javascript
复制
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解释器中检查异常细节也很容易:

代码语言:javascript
复制
try:
    await pg_con.execute(query)
except Exception as e:
    breakpoint()  # then use e.__class__, e.args, dir(e), etc
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68008508

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档