0
以下示例來自教程。 當我運行它時,它會拋出異常,然後coredump。 我嘗試使用catch()捕獲異常以避免類似於以下的coredump:當我嘗試從boost :: regex_match(text,e)中捕獲異常時,爲什麼會出現coredump?
但它不起作用。有什麼建議麼?
感謝
-Todd
----核心轉儲信息開頭---
投擲
'的boost :: exception_detail :: clone_impl>' 一個實例後終止叫
what():重複運算符「」無法啓動正則表達式。解析正則表達式時發生錯誤:'>>> HERE >>>'。
中止(核心轉儲)
---- --- END
---程序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");
}
---- END -