#python #mysql #python-3.x #database
Вопрос:
Я боролся с этой проблемой и не могу понять ее, да и не ожидаю, учитывая мой ограниченный опыт. Это часть моего портала входа в систему, который подключен к базе данных MySQL, и все работает хорошо, за исключением того, что у меня есть это повторяющееся сообщение при запуске. Я поместил исключение pass, Исключение и исключение ValueException в блоки except по-прежнему с тем же результатом… Что, учитывая семантику сообщения об ошибке типа, просто не вычисляется, я чувствую, что удовлетворил проблему в три раза.
Ошибка, которую я продолжаю получать внизу при запуске моих сценариев, находится ниже-
Исключение игнорируется в: del по адресу 0x000001A7375131F0> Обратная трассировка (последний последний вызов): Файл «C:UsersgeorgAppDataLocalPackagesPythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0LocalCachelocal-packagesPython39site-packagesmysqlconnectornetwork.py», строка 149, в файле del «C:UsersgeorgAppDataLocalPackagesPythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0LocalCachelocal-packagesPython39site-packagesmysqlconnectornetwork.py», строка 137, в ошибке типа завершения работы: перехват классов, которые не наследуются от исключения BaseException, не допускается
Я уверен, что «create_db_connection» — это моя проблемная функция:
# Functions
def create_db_connection(host_name, user_name, pass_word, db_name):
connection = None
try:
connection = mysql.connector.connect(
host=host_name,
user=user_name,
passwd=pass_word,
database=db_name
)
print("MySQL Database connection successful")
except Error as err:
print(f"Error: '{err}'")
def read_query(connection, query):
cursor = connection.cursor()
result = None
try:
cursor.execute(query)
result = cursor.fetchall()
return result
except Error as err:
print(f"Error: '{err}'")
# My calls
connection = create_db_connection('localhost', 'root', 'GeoPlayingCode17##',
'login_details')
results = read_query(connection, q1)
Ответ №1:
Вы пытаетесь поймать исключение, которое не относится к исключению BaseException. Вот где определяются исключения. Попробуйте это
try:
Do_something()
except Exception as Ex:
print(Ex)
Это должно все уладить
Комментарии:
1. Я изменил все пункты, кроме этого, и до сих пор происходит та же ошибка типа.
2. Вы не можете поймать ошибку, так как ошибка не является исключением. Замените ошибку исключением, которое вы пытаетесь поймать. Как, например: ошибка EOFError, ошибка ZeroDivisionError и т. Д
3. Попробуйте заменить ошибку на mysql.connector. Ошибка