Hub*_*bro 18 sqlalchemy exception
我想处理一个主键或唯一键冲突的情况,即一个重复的条目.为此,我抓住了IntegrityError,这很好地捕获了错误.问题是,我似乎无法找到任何简单的错误消息或错误代码来检查.我得到的只是IntegrityError.message属性,它是一个如下所示的字符串:
(IntegrityError)(1062,"重复输入'foobar'用于键'name'")
这不是很有帮助.使用它我将不得不开始解析他们的代码和消息的错误消息.调用dir异常仅显示以下属性:
'args','connection_invalidated','instance','message','orig','params','statement'
args只是一个单项元组,里面有上面提到的字符串,而params是我试图插入的数据.我似乎无法找到任何方法来确定这实际上是一个重复的键错误,而不必实际使用正则表达式或其他东西开始解析错误消息.
任何人都可以对这个问题有所了解吗?
谢谢
Hub*_*bro 27
我在通过更仔细地阅读文档来编写问题时想到了这一点.我仍然会发布这个,因为它可能对某人有所帮助.
在SQLAlchemy DBAPIError的文档中,IntegrityError是子类的子类,它解释了该异常仅仅是底层数据库API错误的包装器,并且原始错误orig在异常中保存.果然,打电话给e.orig.args我得到一个组织得很好的元组:
(1062,"重复输入'foobar'用于键'name'")
| 归档时间: |
|
| 查看次数: |
8336 次 |
| 最近记录: |