[c++] 표준 예외 클래스
C++ 표준 라이브러리에는 다양한 예외 클래스가 포함되어 있습니다. 이러한 예외 클래스들을 사용하여 프로그램에서 예외를 처리하고 관리할 수 있습니다.
std::exception 클래스
std::exception
클래스는 모든 표준 예외 클래스의 기본 클래스입니다. 이 클래스는 what
멤버 함수를 제공하여 예외에 대한 설명을 반환합니다.
예를 들어:
#include <iostream>
#include <exception>
class MyException : public std::exception
{
virtual const char* what() const throw()
{
return "내가 만든 예외 발생!";
}
} myex;
int main()
{
try
{
throw myex;
}
catch (std::exception& e)
{
std::cout << e.what() << std::endl;
}
}
위 예제에서는 std::exception
클래스를 상속받아 what
멤버 함수를 오버라이딩하여 내가 만든 예외에 대한 설명을 반환하도록 했습니다.
표준 예외 클래스
C++ 표준 라이브러리에는 다양한 예외 클래스가 포함되어 있습니다. 몇 가지 예시는 다음과 같습니다:
std::bad_alloc
: 동적 메모리 할당이 실패했을 때 발생하는 예외std::bad_cast
:dynamic_cast
연산이 잘못된 시도일 때 발생하는 예외std::runtime_error
: 런타임 오류가 발생했을 때 발생하는 예외
사용자 정의 예외 클래스
사용자는 자신만의 예외 클래스를 정의하여 프로그램에서 사용할 수 있습니다. 이를 통해 특정 조건이나 요구사항에 따라 예외를 처리하고 관리할 수 있습니다.
결론
C++ 표준 예외 클래스를 사용하여 프로그램에서 예외를 처리하는 방법에 대해 알아보았습니다. std::exception
클래스를 상속받아 사용자 정의 예외 클래스를 정의하고, 표준 예외 클래스를 활용하여 프로그램의 안정성을 향상시킬 수 있습니다.
참고 문헌: