std::regex_error(3)

NAME
std::regex_error - std::regex_error

Synopsis
   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)

Example
// 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