Scroll to navigation

std::regex_error(3) C++ Standard Libary std::regex_error(3)


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";

Possible output:

regex_error caught: The expression contained mismatched [ and ].
The code was error_brack