[/ Copyright 2006-2007 John Maddock. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt). ] [section:bad_expression bad_expression] [h4 Synopsis] #include The class `regex_error` defines the type of objects thrown as exceptions to report errors during the conversion from a string representing a regular expression to a finite state machine. 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; // for backwards compatibility typedef regex_error bad_expression; // for backwards compatibility } // namespace boost [h4 Description] regex_error(const std::string& s, regex_constants::error_type err, std::ptrdiff_t pos); regex_error(boost::regex_constants::error_type err); [*Effects:] Constructs an object of class regex_error. boost::regex_constants::error_type code()const; [*Effects:] returns the error code that represents parsing error that occurred. std::ptrdiff_t position()const; [*Effects:] returns the location in the expression where parsing stopped. Footnotes: the choice of `std::runtime_error` as the base class for `regex_error` is moot; depending upon how the library is used exceptions may be either logic errors (programmer supplied expressions) or run time errors (user supplied expressions). The library previously used `bad_pattern` and `bad_expression` for errors, these have been replaced by the single class `regex_error` to keep the library in synchronization with the [tr1]. [endsect]