regex_regex_error

regex_regex_error (정규식 오류 예외)

std::regex_error은 정규식 라이브러리의 오류를 보고하기 위해 던져지는 예외 객체의 타입을 정의해요. C++11부터 사용할 수 있어요.

출처: cppreference

본문

<regex> 헤더에 정의되어 있고, 시그니처는 다음과 같아요.

class regex_error;

(since C++11)

정규식 라이브러리의 오류를 보고하기 위해 던져지는 예외 객체의 타입을 정의해요.

멤버 함수 (Member functions)

  • (constructor) — regex_error 객체 생성
  • operator= — regex_error 객체 대체
  • code — regex_error의 std::regex_constants::error_type 얻기

std::runtime_error에서 상속

std::exception에서 상속

멤버 함수 (Member functions)

  • (destructor) [virtual] — 예외 객체 파괴 (std::exception의 가상 공개 멤버 함수)
  • what [virtual] — 설명 문자열 반환 (std::exception의 가상 공개 멤버 함수)

예제 (Example)

이 코드를 실행해 봐요.

#include <iostream>
#include <regex>

int main()
{
    try
    {
        std::regex re("[a-b][a");
    }
    catch (const std::regex_error& e)
    {
        std::cout << "regex_error caught: " << e.what() << '\n'
                  << "code: " << static_cast<int>(e.code()) << '\n';
    }
}

더 알아보기 (Learn more)

cppreference