std::runtime_error

std::runtime_error (런타임 오류 예외)

프로그램 실행 중에만 검출될 수 있는 오류를 나타내는 예외 타입의 기초 클래스예요. 실행 시간 조건 때문에 발생하는 오류를 나타내요.

출처: cppreference

본문

<stdexcept> 헤더에 정의돼 있고, 런타임 오류 예외 계열의 기초 클래스예요.

class runtime_error : public exception;

std::runtime_error는 프로그램 실행 중에만 검출될 수 있는 "런타임 오류"를 나타내는 예외들의 기초 클래스예요. std::logic_error와 달리, 이런 오류는 실행 시간에 일어나는 조건(입력값, 환경, 시스템 상태 등) 때문에 발생해요.

생성자:

  • explicit runtime_error( const std::string& what_arg );
  • explicit runtime_error( const char* what_arg );
  • 인자로 준 문자열이 what()에서 반환될 설명이에요.

std::runtime_error에서 직접 파생되는 표준 예외:

  • std::range_error — 범위 오류.
  • std::overflow_error — 산술 오버플로.
  • std::underflow_error — 산술 언더플로.
  • std::system_error — 시스템 오류(운영체제 오류 코드 포함).

또한 <cmath>의 수학 함수들이 일부 도메인 오류에서 runtime_error 계열 예외를 던질 수 있어요. 사용자 정의 런타임 오류를 알릴 때도 흔히 이 타입(또는 파생)을 던져요.

double f(double x)
{
    if (x < 0)
        throw std::runtime_error("음수는 지원하지 않아요");
    return std::sqrt(x);
}

더 알아보기 (Learn more)

cppreference