python try except回滚
时间: 2023-10-16 09:13:04 浏览: 43
在Python中,try-except语句块用于捕获并处理异常。当一个异常被捕获时,程序会执行except语句块中的代码来处理该异常。如果需要回滚操作,可以在except语句块中使用rollback()函数来回滚事务。
以下是一个例子:
```
import psycopg2
try:
# 连接数据库
conn = psycopg2.connect(database="mydatabase", user="myuser", password="mypassword", host="localhost", port="5432")
# 创建游标对象
cur = conn.cursor()
# 执行SQL语句
cur.execute("INSERT INTO mytable (col1, col2, col3) VALUES (1, 'foo', 'bar')")
# 提交事务
conn.commit()
except psycopg2.Error as e:
# 发生异常时回滚事务
conn.rollback()
print("Error: ", e)
finally:
# 关闭游标和连接
cur.close()
conn.close()
```
在上面的代码中,如果在执行SQL语句时发生了数据库错误,except语句块会捕获该异常,并执行conn.rollback()函数来回滚事务。最后,无论是否发生异常,finally语句块都会执行来关闭游标和连接。