У меня повторяющаяся проблема с MySQL и Pyt — в нижней части экрана при запуске моих сценариев

#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. Ошибка