How is it possible that string destructor throws an exception?
It's thrown at the end of try block for variable `s`.

```
Environment *env = Environment::createEnvironment(Environment::DEFAULT);
Connection *con;
con = env->createConnection(Config::login, Config::password, Config::connection_string);

string sqlStmt = "SELECT user FROM dual";
auto stmt = con->createStatement(sqlStmt);
ResultSet *rset = stmt->executeQuery();
try {
    rset->next();
    string s = rset->getString(1);
    cout << "user: " << s << endl;
}  // exception thrown here

```

> 
> read access violation \_Pnext was 0xFFFFFFFFFFFFFFF
> 
> 
>