Как обрабатывать бэкэнд-исключения SOCI Firebird?
Я пытался разобраться с исключениями бэкэнда базы данных SOCI Firebird, но они всегда приводили к аварийному завершению работы приложения при некоторых ошибках, таких как массовое использование vector
оператор select без указания максимального размера строк, которые можно получить из базы данных через 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;
}
Что нужно сделать, чтобы приложение получило эти исключения?