Namespaces
Variants

std::exception::exception

cppreference.net에서
 
 
유틸리티 라이브러리
일반 유틸리티
관계 연산자 (C++20에서 폐기됨)
정수 비교 함수
(C++20)(C++20)(C++20)    
(C++20)
스왑 및 타입 연산
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
공통 어휘 타입
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)



 
 
 
exception() throw();
(1) (C++11까지)
exception() noexcept;
(C++11부터)
(constexpr, C++26부터)
exception( const exception& other ) throw();
(2) (C++11까지)
exception( const exception& other ) noexcept;
(C++11부터)
(constexpr, C++26부터)

새 예외 객체를 생성합니다.

1) 기본 생성자. what()은 구현 정의 문자열을 반환합니다.
2) 복사 생성자. 내용을 other의 내용으로 초기화합니다. 만약 *this와 other 모두 동적 타입이 std::exception이면 std::strcmp(what(), other.what()) == 0입니다.

매개변수

other - 내용을 할당하기 위한 또 다른 예외

참고 사항

std::exception 의 복사는 예외를 발생시키는 것이 허용되지 않기 때문에, 파생 클래스들(예: std::runtime_error )이 사용자 정의 진단 메시지를 관리해야 할 때, 일반적으로 copy-on-write 문자열로 구현됩니다.

Microsoft 구현에는 문자열을 취하는 비표준 생성자가 포함되어 있어 의미 있는 오류 메시지와 함께 인스턴스를 직접 throw할 수 있습니다. 가장 가까운 표준 대응물은 std::runtime_error 또는 std::logic_error 입니다.

결함 보고서

다음의 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.

DR 적용 대상 게시된 동작 올바른 동작
LWG 471 C++98 예외 복사본의 what() 에 대한 요구사항이 없음 추가됨