C++ MongoDB C++;驱动程序未抛出连接错误

C++ MongoDB C++;驱动程序未抛出连接错误,c++,exception,mongodb,exception-handling,try-catch,C++,Exception,Mongodb,Exception Handling,Try Catch,这是我的密码- DBClientBase *conn = NULL; string err_msg; ConnectionString cs = ConnectionString::parse(connString, err_msg); if (!cs.isValid()) { throw "bad: " + err_msg; } try { conn = cs.connect(err_msg); } catch (DBException &e) { cout <

这是我的密码-

DBClientBase *conn = NULL;
string err_msg;
ConnectionString cs = ConnectionString::parse(connString, err_msg);

if (!cs.isValid()) {
   throw "bad: " + err_msg;
}

try {
  conn = cs.connect(err_msg);
}
catch (DBException &e) {
   cout << "caught " << err_msg << endl;
   return 1;
}

if (!conn) {
   cout << "Unable to connect to DB" << endl;
   return 1;
}
块不工作?

From,
ConnectionString::connect
似乎只有在字符串本身无效时才会引发异常(从第一条条件语句中您已经知道它不是)

它只返回一个空指针,并在所有其他情况下设置
errMsg

为你辩护,我在任何地方都找不到这方面的文件;这是我能找到的全部

string err_msg;
ConnectionString cs = ConnectionString::parse(connString, err_msg);

if (!cs.isValid()) {
   throw "bad: " + err_msg;
}

DBClientBase* conn = cs.connect(err_msg);

if (!conn) {
   cout << "Unable to connect to DB: " << err_msg << endl;
   return 1;
}
字符串错误消息;
ConnectionString cs=ConnectionString::parse(connString,err_msg);
如果(!cs.isValid()){
抛出“bad:+err_msg;
}
DBClientBase*conn=cs.connect(err\u msg);
如果(!conn){
库特
string err_msg;
ConnectionString cs = ConnectionString::parse(connString, err_msg);

if (!cs.isValid()) {
   throw "bad: " + err_msg;
}

DBClientBase* conn = cs.connect(err_msg);

if (!conn) {
   cout << "Unable to connect to DB: " << err_msg << endl;
   return 1;
}