关于try except代码块问题

我编辑了一个将excel数据导入oracle的函数,并加入try-except代码块,导入sql有误的时候,函数会捕捉报错的信息,并将错误的信息和引发错误的sql语句加入提早创建好的空列表,然后打印报错信息和错误的sql,并自动停止循环导入的sql,但下面代码在捕捉到异常的时候,就直接执行break,不打印任何报错信息和sql,请问是因为try-except执行逻辑的问题,还是代码流程本身有问题呢?


def ora_program(name, df_im, sql_list, con_detail):
    """
    :param df_im:
    :param name:
    :param sql_list:
    :param con_detail:
    """
    err_type = []
    err_list = []
    conn = cx_Oracle.connect(con_detail)
    cursor = conn.cursor()
    for sql in sql_list:
        try:
            if len(err_list) == 0:
                if sql.startswith('create table'):
                    cursor.execute(sql)
                else:
                    cursor.execute(sql)
                    conn.commit()
                    print("成功执行语句:{}".format(sql))
            else:
                cursor.execute('drop table YB_{} purge'.format(name.replace('.csv', '').replace('.xlsx', '')))
        except DatabaseError as e:
            err_type.append(e)
            err_list.append(sql)
            print(err_type, err_list)
            print('导入数据格式有误,已执行删表操作,成功删除表YB_{}'.format(name.replace('.csv', '').replace('.xlsx', '')))
            break

    if len(err_list) == 0:
        print('成功创建表“YB_{}”并插入{}条数据'.format(name.replace('.csv', '').replace('.xlsx', ''), len(df_im)))

    cursor.close()
    conn.close()

你要确定你代码报的错一定是DatabaseError ,不然就是直接停止啥也捕获不到,你还不如直接用exception捕获