Как обрабатывать бэкэнд-исключения SOCI Firebird? - PullRequest
0 голосов
/ 14 февраля 2019

Я пытался обработать исключения из базы данных SOCI Firebird, но они всегда приводили к аварийному завершению работы приложения при некоторых ошибках, таких как использование оператора массового vector выбора без указания максимального размера строк, получаемых из базы данных через vector::resize, илидаже если не указывать 127.0.0.1 в строке подключения, все эти ошибки вызовут сбой приложения.

Я использовал следующий код для обработки этих исключений:

<!-- language: lang-cpp -->
try
{
    // regular code
}
catch (const soci::firebird_soci_error& error)
{
    cerr << "Firebird error: " << error.what() << endl;
}
catch (const soci::exception& except)
{
    cerr << "Some other error: " << except.what() << endl;
}

Что нужно сделать, чтобы приложение использовало эти исключения?

...