Пространства имён
Варианты
Действия

std::regex_error

Материал из cppreference.com
< cpp‎ | regex
 
 
Библиотека регулярных выражений
Классы
(C++11)
Алгоритмы
Итераторы
Исключения
regex_error
(C++11)
Типы
Константы
(C++11)
Грамматика регулярных выражений
 
std::regex_error
 
Определено в заголовочном файле <regex>
class regex_error;
(начиная с C++11)

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

cpp/error/exceptioncpp/error/runtime errorstd-regex error-inheritance.svg

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

Содержание

[править] Функции-элементы

создаёт объект regex_error
(public функция-элемент) [править]
заменяет объект regex_error
(public функция-элемент) [править]
получает std::regex_constants::error_type для regex_error
(public функция-элемент) [править]

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


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

Функции-элементы

уничтожает объект исключения
(virtual public of std::exception функция-элемент) [править]
[virtual]
возвращает поясняющую строку
(virtual public of 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: " << e.what() << '\n';
        if (e.code() == std::regex_constants::error_brack)
            std::cout << "Код равен error_brack\n";
    }
}

Возможный вывод:

Пойман regex_error: The expression contained mismatched [ and ].
Код равен error_brack