[c++] 표준 예외 클래스

C++ 표준 라이브러리에는 예외를 처리하기 위한 여러 가지 내장 예외 클래스가 포함되어 있습니다. 이러한 내장 클래스들은 특정 예외 상황에 대한 예외를 던질 때 사용하거나 예외를 처리할 때 사용됩니다.

1. std::exception

std::exception 클래스는 모든 표준 예외 클래스의 부모 클래스입니다. 따라서 예외 처리 시 이 클래스를 기반으로 파생된 클래스를 사용할 수 있습니다.

try {
    // 예외 상황이 발생할 수 있는 코드
    if (error_condition) {
        throw SomeException("Error occurred");
    }
} catch (const std::exception& e) {
    // 예외 처리
    std::cout << "Exception caught: " << e.what() << std::endl;
}

2. std::runtime_error

std::runtime_error 클래스는 런타임 오류를 나타내는 예외를 처리하기 위한 클래스입니다. 보통 프로그램 실행 중에 발생하는 예외들을 처리할 때 사용됩니다.

if (error_condition) {
    throw std::runtime_error("Runtime error occurred");
}

3. std::logic_error

std::logic_error 클래스는 논리적 오류를 나타내는 예외를 처리하기 위한 클래스입니다. 코드 내에서 발생한 논리적인 오류에 대해 예외를 처리할 때 사용됩니다.

if (error_condition) {
    throw std::logic_error("Logic error occurred");
}

이외에도 std::out_of_range, std::invalid_argument 등 여러 다양한 표준 예외 클래스가 있으며, 상황에 맞게 적절한 클래스를 사용하여 예외를 처리할 수 있습니다.

참고 문헌: cplusplus.com