A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://cplusplus.com/reference/regex/regex_error/ below:

class

<regex>

std::regex_error
class regex_error : public runtime_error { /* ... */ };

Regex exception

Objects of this exception type are thrown by the elements of the regex library.

It inherits from the standard exception runtime_error, and has a special public member function, code, which returns a specific code of type regex_constants::error_type depending on the kind of error that threw it:

flag error error_collate The expression contained an invalid collating element name. error_ctype The expression contained an invalid character class name. error_escape The expression contained an invalid escaped character, or a trailing escape. error_backref The expression contained an invalid back reference. error_brack The expression contained mismatched brackets ([ and ]). error_paren The expression contained mismatched parentheses (( and )). error_brace The expression contained mismatched braces ({ and }). error_badbrace The expression contained an invalid range between braces ({ and }). error_range The expression contained an invalid character range. error_space There was insufficient memory to convert the expression into a finite state machine. error_badrepeat The expression contained a repeat specifier (one of *?+{) that was not preceded by a valid regular expression. error_complexity The complexity of an attempted match against a regular expression exceeded a pre-set level. error_stack There was insufficient memory to determine whether the regular expression could match the specified character sequence.


Member functions
explicit regex_error (regex_constants::error_type ecode);
Constructs a regex exception with error code ecode.
regex_constants::error_type code() const;
Returns the error code with which it was constructed.
regex_constants::error_type is an enumerated type designed to uniquely identify errors in the regex library (see regex_constants for more info).

Example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// regex_error
#include <iostream>
#include <regex>

int main ()
{
  try {
     std::regex myregex ("*");
  } catch (std::regex_error& e) {
     if (e.code() == std::regex_constants::error_badrepeat)
       std::cerr << "Repeat was not preceded by a valid regular expression.\n";
     else std::cerr << "Some other regex exception happened.\n";
  }
  return 0;
}

Output (stderr):
Repeat was not preceded by a valid regular expression.


See also
regex_constants
regex constants (namespace)
exception
Standard exception class (class)
runtime_error
Runtime error exception (class)

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4