[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