regex_error Class
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