【发布时间】:2019-04-01 09:17:16
【问题描述】:
我必须在我的函数中声明多个连接,并且我使用 finally 块来确保它们在出现任何异常的情况下全部关闭。然而,当在其中一个连接建立期间发生异常时,我陷入了困境。我知道按声明的顺序关闭连接将确保即使其中一个连接建立没有问题,它也会被关闭,这是肯定的。
def some_func(x_connect_params,y_connect_params):
try:
x_conn = psycopg2.connect(**x_connect_params)
x_cur = x_conn.cursor()
y_conn = psycopg2.connect(**y_connect_params)
y_cur = y_conn.cursor()
# SOME CODE THAT USES CONNECTIONS
except Exception as e:
pass
finally:
x_cur.close()
x_conn.close()
y_cur.close()
y_conn.close()
但我在徘徊有没有办法确保关闭连接并能够避免在 finally 块中出现 UnboundLocalError?
【问题讨论】:
标签: python exception connection psycopg2