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.
Example
| |
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 )