У меня есть такой код для моего плагина codeblocks:
conn = PQconnectdb("dbname=codeblocks user=postgres password=postgres host=127.0.0.1 port=5432");
if(PQstatus(conn) != CONNECTION_OK) {
wxMessageBox(_("Database connection failed!" ));
PQfinish(conn);
return 0;
}
При этом произойдет ошибка соединения с базой данных, так как она не существует и «Сбой соединения с базой данных!» сообщение появится
Моя проблема в том, что он закрывает IDE Codeblocks и показывает ошибку в моем терминале, например:
Exception: Unknown exception was raised. The application will terminate immediately...
Aborted (core dumped)
Как я могу поймать ошибку на PQconnectdb, чтобы он не закрыл мою IDE? Кстати, я в Ubuntu 14.04 и с использованием C ++.
Сначала вы можете включить свой обвинительный код в try-catch:
try{
conn = PQconnectdb("dbname=codeblocks user=postgres password=postgres host=127.0.0.1 port=5432");
if(PQstatus(conn) != CONNECTION_OK) {
wxMessageBox(_("Database connection failed!" ));
PQfinish(conn);
return 0;
}
} catch (...) {
/* add breakpoint here */
}
Кроме того, вы можете проверить, установили ли вы более одной версии кодовых блоков.