Мне сказали, что в настоящее время то, что у меня есть ниже, приведет к тому, что база данных останется открытой неопределенно долго, если возникнет ошибка. Как использовать оператор try catch, чтобы убедиться, что соединение закрывается при возникновении ошибки?
connection = psycopg2.connect(some_stuff_in_here)
print("Connected to DB")
cursor = connection.cursor()
if __name__ == '__main__':
does_something()
cursor.close()
connection.close()
print("Disconnected from DB")
Должен ли я сделать следующее? Я чувствую, что он все равно не будет работать, потому что, если при попытке закрыть соединение произойдет ошибка, блок кроме этого все равно не сможет его закрыть.
try:
cursor.close()
connection.close()
except:
print("Database Process Error")
cursor.close()
connection.close()