你看,http://www.mysql.com/documentation/mysql++/4_Tutorial.html#SECTION03141000000000000000,就根本没有用到异常处理,完全可以实现你的判断的。

解决方案 »

  1.   

    to ezhou(煮花生):
        谢谢你的回复,mysql++文档我基本都看过的,它这里并没有判断连接成功,而且如果我调试这个程序,连接失败,程序照样会异常终止。 目前我的检测线程函数是这样的,就是使用c++异常看起来别扭了些。
    /*pParam 是查询串*/
    UINT testRemote(LPVOID pParam)
    {
    cout << "testing remote database ......\n";
    while(1)
    {
    try
    {
    Connection con1(use_exceptions);
    con1.real_connect(DB1);
    Query query = con1.query();
    query << (char*)pParam;
    query.store();
    con1.close();
    cout << "record has been insert into remote database successfull\n"
     << "Thread terminated\n";
    return 0;
    }
    catch(BadQuery er)
    {
    cout<< er.error<<endl;
    Sleep(5000);
    }
    }
    return 0;
    }
      

  2.   

    呵呵,我的意思是你可以自己加判断。
    ...
    if (con1.real_connect(DB1));
    ...
    我曾经用mysql++,后又觉得有些问题,改用c api,还可以。
      

  3.   

    to ezhou(煮花生):
    是啊,但是你有没有运行过,至少在我和我同学的机器上,如果连接失败,程序就异常终止,不会让你去判断了。 我的问题也就是这个。
    c api 确实不会有这个问题,可惜被要求用 c++ api。
      

  4.   

    嗯,我的确没有运行过。
    不过,c++下可是可以用c api的。