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>의 특수 멤버 함수는 보호되어 있어요. 파생 클래스에서만 호출할 수 있어요.
예제
이 섹션은 불완전해요. 이유: 예제 없음