Namespaces
Variants

Diagnostics library

From cppreference.net

목차

예외 처리

헤더 <exception> 는 C++ 프로그램의 예외 처리와 관련된 여러 클래스와 함수를 제공합니다.

헤더에 정의됨 <exception>
표준 라이브러리 구성 요소에서 발생하는 예외들의 기본 클래스
(클래스)
예외 객체의 캡처 및 저장
( C++20에서 제거됨* ) (C++17)
예외 처리가 현재 진행 중인지 확인합니다
(함수)
예외 객체를 처리하기 위한 공유 포인터 타입
(typedef)
예외 객체로부터 std::exception_ptr 를 생성합니다
(함수 템플릿)
현재 예외를 std::exception_ptr 에 캡처합니다
(함수)
std::exception_ptr 에서 예외를 던집니다
(함수)
현재 예외를 캡처하고 저장하기 위한 믹스인 타입
(클래스)
인자를 std::nested_exception 과 함께 던짐
(함수 템플릿)
std::nested_exception 에서 예외를 다시 던짐
(함수 템플릿)
예외 처리에서의 실패 처리
헤더에 정의됨 <exception>
예외 처리 실패 시 호출되는 함수
(function)
std::terminate 에 의해 호출되는 함수의 타입
(typedef)
현재 terminate_handler를 획득함
(함수)
std::terminate 가 호출할 함수를 변경합니다
(function)
예외 객체 복사에 실패할 때 발생하는 예외 std::current_exception
(클래스)
예외 명세 위반 처리 (C++17까지)
(C++11에서 사용 중단됨) (C++17에서 제거됨)
동적 예외 사양이 위반될 때 호출되는 함수
(함수)
(C++11에서 사용 중단됨) (C++17에서 제거됨)
std::unexpected 에 의해 호출되는 함수의 타입
(typedef)
(C++11에서 사용 중단됨) (C++17에서 제거됨)
현재 unexpected_handler 를 획득함
(함수)
(C++11에서 사용 중단됨) (C++17에서 제거됨)
std::unexpected 가 호출할 함수를 변경합니다
(함수)

예외 범주

여러 편의 클래스들이 헤더 파일 <stdexcept> 에 특정 오류 조건들을 보고하기 위해 미리 정의되어 있습니다. 이러한 클래스들은 두 가지 범주로 나눌 수 있습니다: 논리 오류와 런타임 오류입니다. 논리 오류는 프로그램 내부의 잘못된 논리의 결과이며 예방 가능할 수 있습니다. 런타임 오류는 프로그램의 범위를 벗어난 사건들로 인해 발생하며 쉽게 예측하기 어렵습니다.

헤더 파일에 정의됨 <stdexcept>
논리적 전제 조건이나 클래스 불변식을 위반했음을 나타내는 예외 클래스
(class)
잘못된 인수를 보고하는 예외 클래스
(class)
정의역 오류를 보고하는 예외 클래스
(class)
허용된 최대 크기를 초과하는 시도를 보고하는 예외 클래스
(class)
예상 범위를 벗어난 인수를 보고하는 예외 클래스
(class)
런타임에만 감지 가능한 조건을 나타내는 예외 클래스
(class)
내부 계산에서의 범위 오류를 보고하는 예외 클래스
(class)
산술 오버플로를 보고하는 예외 클래스
(class)
산술 언더플로를 보고하는 예외 클래스
(class)
원자적 트랜잭션을 취소하는 예외 클래스
(class template)

오류 번호

헤더 파일에 정의됨 <cerrno>
POSIX 호환 스레드-로컬 에러 번호 변수로 확장되는 매크로
(매크로 변수)
표준 POSIX 호환 에러 조건을 위한 매크로들
(매크로 상수)

시스템 오류 (since C++11)

헤더 <system_error> 는 운영 체제, 스트림 I/O, std::future , 또는 다른 저수준 API들에서 발생하는 오류 조건들을 보고하는 데 사용되는 타입들과 함수들을 정의합니다.

헤더 파일에 정의됨 <system_error>
에러 카테고리의 기본 클래스
(클래스)
일반 에러 카테고리를 식별함
(함수)
운영 체제 에러 카테고리를 식별함
(함수)
이식 가능한 에러 코드를 보유함
(클래스)
(C++11)
모든 표준 <cerrno> 매크로 상수를 나열하는 std::error_condition 열거형
(클래스)
(C++11)
플랫폼 종속적 에러 코드를 보유함
(클래스)
error_code를 갖는 조건을 보고하는 데 사용되는 예외 클래스
(클래스)

어서션

어설션은 프로그램에서 사전 조건 검사를 구현하는 데 도움을 줍니다.

헤더 파일에 정의됨 <cassert>
사용자가 지정한 조건이 true 가 아닐 경우 프로그램을 중단합니다. 릴리스 빌드에서는 비활성화될 수 있습니다.
(함수 매크로)

스택 트레이스 (C++23부터)

헤더 파일에 정의됨 <stacktrace>
스택 트레이스에서의 평가 표현
(클래스)
스택 트레이스 엔트리로 구성된 호출 시퀀스의 근사적 표현
(클래스 템플릿)

디버깅 지원 (since C++26)

헤더 파일에 정의됨 <debugging>
(C++26)
호출 시 실행 중인 프로그램을 일시 중지함
(함수)
std::is_debugger_present true 를 반환할 경우 std::breakpoint 를 호출함
(함수)
프로그램이 디버거 제어 하에 실행 중인지 여부를 확인함
(함수)

참고 항목

static_assert 선언 (C++11) 컴파일 타임 어서션 검사 수행
C 문서 for 오류 처리