#include <boost/pattern_except.hpp>
Класс<regex_error
>определяет тип брошенных объектов как исключения для сообщения об ошибках во время преобразования из строки, представляющей обычное выражение, в конечную машину состояний.
namespace boost{
class regex_error : public std::runtime_error
{
public:
explicit regex_error(const std::string& s, regex_constants::error_type err, std::ptrdiff_t pos);
explicit regex_error(boost::regex_constants::error_type err);
boost::regex_constants::error_type code()const;
std::ptrdiff_t position()const;
};
typedef regex_error bad_pattern;
typedef regex_error bad_expression;
}
regex_error(const std::string& s, regex_constants::error_type err, std::ptrdiff_t pos);
regex_error(boost::regex_constants::error_type err);
Эффекты:Построение объекта класса regex_error.
boost::regex_constants::error_type code()const;
Эффекты:возвращает код ошибки, который представляет собой ошибку разбора, которая произошла.
std::ptrdiff_t position()const;
Эффекты:возвращает место в выражении, где парсинг остановился.
Сноски: выбор<std::runtime_error
>в качестве базового класса для<regex_error
>является спорным; в зависимости от того, как используется библиотека, исключениями могут быть либо логические ошибки (выражения, предоставленные программистом), либо ошибки времени выполнения (выражения, предоставленные пользователем). Библиотека, ранее использовавшаяся<bad_pattern
>и<bad_expression
>для ошибок, была заменена единственным классом<regex_error
>, чтобы сохранить библиотеку в синхронизации сТехническим отчетом по расширениям библиотеки C++.