std:: exception
|
헤더 파일에 정의됨
<exception>
|
||
|
class
exception
;
|
||
throw expression 을 통해 오류를 처리하기 위한 일관된 인터페이스를 제공합니다.
표준 라이브러리에서 생성된 모든 예외는
std::exception
으로부터 상속됩니다.
|
|
(since 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 이후)
:
- default constructor (다른 생성자가 제공되지 않는 경우)
- copy constructor
- copy assignment operator
복사 생성자와 복사 할당 연산자는 다음과 같은 사후 조건을 충족합니다:
-
두 객체
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
에서 파생된 표준 라이브러리 클래스에 대한 요구사항이 없었음
|
추가됨 |