Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The latest version of this topic can be found at regex_error Class.
Reports a bad basic_regex object.
Syntax
class regex_error
: public std::runtime_error {
public:
explicit regex_error(regex_constants::error_code error);
regex_constants::error_code code() const;
};
Remarks
The class describes an exception object thrown to report an error in the construction or use of a basic_regex object.
Requirements
Header: <regex>
Namespace: std
regex_error::code
Returns the error code.
regex_constants::error_code code() const;
Remarks
The member function returns the value that was passed to the object's constructor.
Example
// std_tr1__regex__regex_error_code.cpp
// compile with: /EHsc
#include <regex>
#include <iostream>
int main()
{
std::regex_error paren(std::regex_constants::error_paren);
try
{
std::regex rx("(a");
}
catch (const std::regex_error& rerr)
{
std::cout << "regex error: "
<< (rerr.code() == paren.code()
"unbalanced parentheses" : "")
<< std::endl;
}
catch (...)
{
std::cout << "unknown exception" << std::endl;
}
return (0);
}
regex error: unbalanced parentheses
regex_error::regex_error
Constructs the object.
regex_error(regex_constants::error_code error);
Parameters
error
The error code.
Remarks
The constructor constructs an object that holds the value error.
Example
// std_tr1__regex__regex_error_construct.cpp
// compile with: /EHsc
#include <regex>
#include <iostream>
int main()
{
std::regex_error paren(std::regex_constants::error_paren);
try
{
std::regex rx("(a");
}
catch (const std::regex_error& rerr)
{
std::cout << "regex error: "
<< (rerr.code() == paren.code()
"unbalanced parentheses" : "")
<< std::endl;
}
catch (...)
{
std::cout << "unknown exception" << std::endl;
}
return (0);
}
regex error: unbalanced parentheses