【发布时间】:2010-02-02 08:06:13
【问题描述】:
def rollback_savepoint(self):
try:
self.db.execute("rollback to savepoint pt;")
except:
print "roll back to save point failed"
else:
print "Roll back to save point. Done"
在上面的代码 sn-p 中,它说“回滚到保存点失败”。 出了什么问题?
编辑: 我更改了如下所示的代码并收到错误消息
self.db.execute("savepoint pt;")
print "Save point created"
self.cursor.execute("insert into STK values(33)")
self.db.execute("rollback to savepoint pt;")
错误
Save point created
Traceback (most recent call last):
File "open_db.py", line 77, in <module>
obj1.save_point()
File "open_db.py", line 63, in save_point
self.db.execute("rollback to savepoint pt;")
sqlite3.OperationalError: no such savepoint: pt
【问题讨论】:
-
永远不要捕获你没有处理的异常。让它升起,这样您就可以获得有用的错误消息和回溯。
-
obj1.rollback_savepoint() 文件“open_db.py”,第 65 行,在 rollback_savepoint self.db.execute("rollback to savepoint pt;") sqlite3.OperationalError: no such savepoint:点 -
保存点代码 sn-p 不会产生任何错误 def save(self): self.db.execute("savepoint pt;") print "Save point created"