Следующий пример взят из учебника. Когда я запускаю его, он выдает исключение, а затем coredump. Я пытаюсь использовать catch() для перехвата исключения, чтобы избежать дампа ядра, как показано ниже:
Но это не работает. какие-либо предложения?
Спасибо
-Тодд
---- сообщение coredump НАЧАЛО ---
прекратить вызов после выбрасывания экземпляра
'увеличение::exception_detail::clone_impl >'
what(): оператор повтора "" не может начинать регулярное выражение. Произошла ошибка при разборе регулярного выражения: '>>>HERE>>>'.
Прервать (сброс ядра)
---- КОНЕЦ---
--- программа НАЧАЛО ----
#include <boost/regex.hpp>
#include <iostream>
void print_captures(const std::string& regx, const std::string& text)
{
boost::regex e(regx);
boost::smatch what;
std::cout << "Expression: \"" << regx << "\"\n";
std::cout << "Text: \"" << text << "\"\n";
try {
// boost::regex_match(text, what, e, boost::match_extra);
boost::regex_match(text, e);
}
**catch(boost::regex_error& e) {
std::cout <<"!!!!\n";
}
catch (...) {
std::cout << "###\n";
}**
}
int main(int , char* [])
{
print_captures("*", "AAA");
}
---- КОНЕЦ --