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

std::regex_error

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

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

Imagecpp/error/exceptioncpp/error/runtime error

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

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

создаёт объект 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