gpt4 book ai didi

python - 在 "with"关键字打开资源期间捕获异常

转载 作者:行者123 更新时间:2023-11-29 12:41:02 25 4
gpt4 key购买 nike

举个具体的例子,以psycopg2 for Postgres为例(我知道mysql.connection有类似的API):

try:
with closing(connection.cursor()) as cursor:
... # run a transaction with cursor, like insert
except IntegrityError as e:
cursor.rollback()

在这种情况下游标是否能够回滚,或者在这种情况下游标资源是否会在回滚发生之前关闭?

最佳答案

你能交换 try:with ... 吗?

with closing(connection.cursor()) as cursor:
try:
... # run a transaction with cursor, like insert
except IntegrityError as e:
cursor.rollback()

这样,当到达except ...: 时,光标将在当前范围内。

使用您的代码,当到达 except ...: 时, cursor 将为 None

关于python - 在 "with"关键字打开资源期间捕获异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50106838/

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