Namespaces
Variants

std::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>
class exception;

에 정의됨일관된 인터페이스를 제공하여 throw 표현식

을 통해 오류를 처리합니다. std::exception표준 라이브러리에 의해 생성된 모든 예외는

에서 상속됩니다. std::exception의 모든 멤버 함수는 constexpr입니다.

(C++26 이후)

멤버 함수

예외 객체를 생성합니다
(public member function)
[virtual]
예외 객체를 소멸시킵니다
(virtual public member function)
예외 객체를 복사합니다
(public member function)
[virtual]
설명 문자열을 반환합니다
(virtual public member function)

표준 예외 요구사항

표준 라이브러리 클래스 중 T 가 std::exception 에서 파생된 경우, 다음과 같은 공개 멤버 함수들을 가지며, 각 함수는 예외를 발생시키지 않음 (C++11 이전) non-throwing exception specification 을 가짐 (C++11 이후) :

복사 생성자와 복사 할당 연산자는 다음과 같은 사후 조건을 충족합니다:

  • 두 객체 lhs 와 rhs 가 모두 동적 타입 T 를 가지고, lhs 가 rhs 의 복사본인 경우, std:: strcmp ( lhs. what ( ) , rhs. what ( ) ) 는 ​ 0 ​ 과 같습니다.

각 T 의 what() 멤버 함수는 std::exception::what() 에 지정된 제약 조건을 만족합니다.

표준 예외

(C++11 이후)
(C++11 이후)
(C++17부터)
(TM TS)
(C++20부터)
(C++17부터)
(C++23부터)
(C++11 이후)
(C++11 이후)
(C++11 이전)
(C++17부터)

참고 사항

기능 테스트 매크로 값 표준 기능
__cpp_lib_constexpr_exceptions 202411L (C++26) constexpr 예외 타입

결함 보고서

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

DR 적용 대상 게시된 동작 올바른 동작
LWG 471 C++98 std::exception 에서 파생된 표준 라이브러리 클래스에 대한 요구사항이 없었음 추가됨