异常`libc++abi: terminating with uncaught exception of type char const*`的原因是什么?

问题描述 投票:0回答:0

我正在尝试使用 C++ 连接到 MySQL,我正在使用 MySQL Connector/C++ 8.0 和 XDevAPI 来执行此操作。我写一个demo:

#include <mysqlx/xdevapi.h>
#include <iostream>

using ::std::cout;
using ::std::endl;
using namespace ::mysqlx;

int main(int argc, const char* argv[]) {
    try {
        Session sess("localhost", 33060, "test");
        cout << "Session accepted!" << endl;

        auto result = sess.sql("CREATE DATABASE test_db").execute();
        sess.sql("USE test_db").execute();
        sess.sql(
            "CREATE TABLE booklist (name VARCHAR(10), ISBN VARCHAR(20))"
        ).execute();
        sess.sql("SHOW tables").execute();
        sess.sql(
            "INSERT INTO test_db VALUES ('booka', '9783161484100')"
        ).execute();

        auto result = sess.sql(
            "SELECT ISBN FROM booklist WHERE name='booka'"
        ).execute().fetchOne();

        cout << result << endl;


    } catch (...) {
        throw "Invalid user!";
    }
}

并用

编译它

clang++ -stdlib=libc++ -std=c++11 -I /usr/local/mysql-connector-c++-8.0.32/include -L /usr/local/mysql-connector-c++-8.0.32/lib64   test.cc  -lmysqlcppconn8 -o test

并运行它。然后异常来了:

Session accepted!
libc++abi: terminating with uncaught exception of type char const*
zsh: abort      ./test

有人知道原因吗?谢谢!

异常的解决原因

c++ mysql mysql-connector libc++ mysql-x-devapi
© www.soinside.com 2019 - 2024. All rights reserved.