gpt4 book ai didi

exception - SQLAlchemy 错误处理 - 它是如何完成的?

转载 作者:行者123 更新时间:2023-12-03 12:38:15 25 4
gpt4 key购买 nike

我想处理存在主键或唯一键冲突的情况,即重复条目。为此,我正在 catch IntegrityError ,它可以很好地捕获错误。问题是,我似乎找不到任何简单的错误消息或错误代码来检查。我得到的只是IntegrityError.message属性,它是一个看起来像这样的字符串:

(IntegrityError) (1062, "Duplicate entry 'foobar' for key 'name'")



这不是很有帮助。使用它,我将不得不开始为他们的代码和消息解析错误消息。调用 dir在异常上仅显示以下属性:

'args', 'connection_invalidated', 'instance', 'message', 'orig', 'params', 'statement'


args只是一个单项元组,其中包含上述字符串和 params是我试图插入的数据。我似乎找不到任何方法来确定这实际上是一个重复的键错误,而不必开始使用正则表达式或其他东西解析错误消息。

任何人都可以对这个问题有所了解吗?

最佳答案

通过更仔细地阅读文档,我在编写问题时发现了这一点。我仍然会发布这个,因为它可能对某人有帮助。

在 SQLAlchemy 的文档中 DBAPIError ,其中IntegrityError是子类,它解释了异常只是底层数据库 API 错误的包装,原始错误保存为 orig在异常(exception)。果然,调用e.orig.args我得到一个组织良好的元组:

(1062, "Duplicate entry 'foobar' for key 'name'")

关于exception - SQLAlchemy 错误处理 - 它是如何完成的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11662244/

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