Есть ли способ остановить класс C ++, если при создании экземпляра произошла ошибка? Мол, вернуть NULL может быть? По сути, у меня есть класс-оболочка для MySQL, и конструктор выполняет соединение, но если соединение не удается, я хочу, чтобы объект был бесполезным?
PDB::PDB(string _DB_IP, string _DB_USER, string _DB_PASS, string _DB_DB)
: _DB_IP( _DB_IP ), _DB_USER( _DB_USER ), _DB_PASS( _DB_PASS ), _DB_DB( _DB_DB )
{
mysql_init(&this->mysql);
this->connection = mysql_real_connect(&this->mysql, this->_DB_IP.c_str(), this->_DB_USER.c_str(), this->_DB_PASS.c_str(), this->_DB_DB.c_str(), 0, 0, 0);
if( this->connection == NULL ) // WHAT SHOULD I DO HERE, OTHER THAN THROW AN ERROR?
{
cout << mysql_error(&this->mysql) << endl;
}
this->result = NULL;
}
Что мне делать в тесте NULL, чтобы остановить создание и т. Д.?