Python 2.7 捕获Web2Py数据库抽象层引发的异常

Python 2.7 捕获Web2Py数据库抽象层引发的异常,python-2.7,web2py,Python 2.7,Web2py,有没有办法捕获web2py的DAL抛出的异常 假设我有以下代码: for item in data_dict: db.table_name.insert(item) 如果任何项未能正确插入,web2py将处理此问题,并且不会向数据库提交任何记录并创建票证。我想捕获数据库抛出的错误并输出一条自定义错误消息 在try/except块中包装insert或整个for循环将插入有效记录,并跳过无效记录并抛出错误,使数据库处于某些记录已插入而其他记录根本未插入的状态。这不是预期的行为 我希望有人能

有没有办法捕获web2py的DAL抛出的异常

假设我有以下代码:

for item in data_dict:
    db.table_name.insert(item)
如果任何项未能正确插入,web2py将处理此问题,并且不会向数据库提交任何记录并创建票证。我想捕获数据库抛出的错误并输出一条自定义错误消息

在try/except块中包装insert或整个for循环将插入有效记录,并跳过无效记录并抛出错误,使数据库处于某些记录已插入而其他记录根本未插入的状态。这不是预期的行为

我希望有人能给我一个无痛的解决方案,输出一个自定义的错误消息。我正在使用web2py2.7.4

短暂性脑缺血发作
nav

我相信我有您正在寻找的解决方案,直接来自web2py文档:

只需捕获错误并发出回滚

" 在发出commit命令之前,不会实际提交任何创建、删除、插入、截断、删除或更新操作” 承诺

要检查它,让我们插入一条新记录:

>>> db.person.insert(name="Bob")
2
和回滚,即忽略自上次提交以来的所有操作:

>>> db.rollback()

我相信我从web2py文档中直接找到了您想要的解决方案:

只需捕获错误并发出回滚

" 在发出commit命令之前,不会实际提交任何创建、删除、插入、截断、删除或更新操作” 承诺

要检查它,让我们插入一条新记录:

>>> db.person.insert(name="Bob")
2
和回滚,即忽略自上次提交以来的所有操作:

>>> db.rollback()

插入失败的典型原因是什么?插入失败的典型原因是什么?谢谢,出于某种原因,在您多次阅读本节内容之后,在向我解释之前,它没有单击。:-)谢谢,由于某种原因,在您多次阅读本节内容之后,在向我解释之前,它没有点击。:-)