expected_bad_expected_access

expected_bad_expected_access (bad_expected_access 클래스)

이 페이지는 C++23에서 도입된 std::bad_expected_access 예외 타입에 대해 설명해요. std::expected 객체에 잘못된 접근을 시도할 때 발생하는 예외로, 접근하려던 오류 값을 내부에 보관해요. 기본 템플릿과 void 특수화로 구성되어 있으며, 각각 다른 방식으로 동작해요.

출처: cppreference

본문

개요

<expected> 헤더에 정의돼요.

정의 형식 버전
template < class E > class bad_expected_access : public std :: bad_expected_access < void > (1) C++23부터
template <> class bad_expected_access < void > : public std :: exception (2) C++23부터

이 섹션은 불완전해요. 이유: 상속 다이어그램

기본 템플릿의 멤버

멤버 설명
(생성자) bad_expected_access 객체를 생성해요 (공개 멤버 함수)
error 저장된 값을 반환해요 (공개 멤버 함수)
what 설명 문자열을 반환해요 (공개 멤버 함수)

std::bad_expected_access::bad_expected_access

explicit bad_expected_access ( E e );

새로운 bad_expected_access<E> 객체를 생성해요. 저장된 값을 std::move(e)로 초기화해요.

std::bad_expected_access::error

const E & error () const & noexcept ;
E & error () & noexcept ;
const E && error () const && noexcept ;
E && error () && noexcept ;

저장된 값에 대한 참조를 반환해요.

std::bad_expected_access::what

const char * what () const noexcept override ;

설명 문자열을 반환해요.

매개변수

(없음)

반환값

설명 정보가 담긴 null 종료 문자열에 대한 포인터를 반환해요. 이 문자열은 std::wstring으로 변환하거나 표시하기에 적합해요. 포인터는 해당 예외 객체가 소멸될 때까지, 또는 예외 객체에 대해 비-const 멤버 함수(예: 복사 대입 연산자)가 호출될 때까지 유효함이 보장돼요.

참고

구현은 what()을 재정의할 수 있지만 필수는 아니에요.

bad_expected_access 특수화의 멤버

멤버 설명
(생성자) bad_expected_access<void> 객체를 생성해요 (보호 멤버 함수)
(소멸자) bad_expected_access<void> 객체를 소멸해요 (보호 멤버 함수)
operator= bad_expected_access<void> 객체를 대체해요 (보호 멤버 함수)
what 설명 문자열을 반환해요 (공개 멤버 함수)

bad_expected_access<void>의 특수 멤버 함수는 보호되어 있어요. 파생 클래스에서만 호출할 수 있어요.

예제

이 섹션은 불완전해요. 이유: 예제 없음

더 알아보기 (Learn more)

cppreference