Partager via


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  

See Also

<regex>
regex_error