Namespaces
Variants

std:: regex_error

From ru.cppreference.net
Regular expressions library
Classes
(C++11)
Algorithms
Iterators
Exceptions
regex_error
(C++11)
Traits
Constants
(C++11)
Regex Grammar
Определено в заголовке <regex>
class regex_error ;
(начиная с C++11)

Определяет тип объекта исключения, выбрасываемого для сообщения об ошибках в библиотеке регулярных выражений.

cpp/error/exception cpp/error/runtime error std-regex error-inheritance.svg

Диаграмма наследования

Содержание

Функции-члены

создает объект regex_error
(публичная функция-член)
заменяет объект regex_error
(публичная функция-член)
получает std::regex_constants::error_type для regex_error
(публичная функция-член)

Унаследовано от std:: runtime_error


Унаследовано от std:: exception

Функции-члены

уничтожает объект исключения
(виртуальная публичная функция-член std::exception )
[virtual]
возвращает поясняющую строку
(виртуальная публичная функция-член std::exception )

Пример

#include <iostream>
#include <regex>
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