Другой результат проверки, открыто ли соединение в pymysql - PullRequest
0 голосов
/ 24 октября 2019

Почему-то я получаю другой результат, когда проверяю, открыто ли соединение. После запуска программы, в середине его выполнения я убиваю соединение на сервере. Первый кусок кода выведите мне True, второй - False. Почему это так? Что-то в try блокирует закрытие соединения или что?

Звонит ли db.open и дает ли нам информацию, что соединение на сервере живо?

db = pymysql.connect('127.0.0.1', 'some_user', 'some_password', 'some_db', charset='utf8')
#I kill connection here
if input():
     print(db.open)
db = pymysql.connect('127.0.0.1', 'some_user', 'some_password', 'some_db', charset='utf8')
#I kill connection here
input()
try:
   curs = db.cursor()
   curs.execute(select_stm)
   result = curs.fetchall()
except pymysql.OperationalError as e:
   print(db.open)
...