以下示例来自教程。 当我运行它时,它抛出异常,然后coredump。 我尝试使用catch()来捕获异常,以避免像下面这样的coredump:
但它不起作用。有什么建议吗?
由于
-Todd
---- coredump消息BEGIN ---
在抛出
的实例后终止调用'boost :: exception_detail :: clone_impl>'
what():重复运算符“”无法启动正则表达式。解析正则表达式时出错:'>>> HERE>>> '。
中止(核心倾销)
----结束---
---程序BEGIN ----
#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");
}
----结束 -
答案 0 :(得分:1)