std::regex_error - std::regex_error
Defined in header <regex>
class regex_error; (since C++11)
Defines the type of exception object thrown to report errors in the regular
expressions library.
std-regex error-inheritance.svg
Inheritance diagram
Member functions
constructor constructs a regex_error object
(public member function)
operator= replaces the regex_error object
(public member function)
code gets the std::regex_constants::error_type for a regex_error
(public member function)
Inherited from std::runtime_error
Inherited from std::exception
Member functions
destructor destroys the exception object
[virtual] (virtual public member function of std::exception)
what returns an explanatory string
[virtual] (virtual public member function of
std::exception)
// Run this code
#include <regex>
#include <iostream>
int main()
{
try {
std::regex re("[a-b][a");
}
catch (const std::regex_error& e) {
std::cout << "regex_error caught: " << e.what()
<< '\n';
if (e.code() == std::regex_constants::error_brack) {
std::cout << "The code was error_brack\n";
}
}
}
regex_error caught: The expression contained mismatched [ and ].
The code was error_brack