개발, 연습

[C++] 예외 처리

Injel me 2020. 7. 11. 19:51

c++에서는 예외처리를 지원한다.

 

기본적으로 문법은 이렇다.

try {
	//예외가 일어날 수 있는 코드
    //예외가 일어나면
    throw 예외객체;
}
catch (/* 예외 객체 매개변수 */) {
	//예외 처리
}

그리고 표준으로 예외 객체를 지원하는데,

std::exception 객체이다.

std::exception 객체를 상속받아 객체 클래스를 구현하고 사용하여도 되고,

std::exception 객체를 상속받은 표준 예외 처리 객체를 사용하여도 된다.

std::exception 객체의 가상 함수인 what() 함수를 사용하여 기본적인 예외 객체의 문자열을 출력하게 할 수 있다.

 

그리고 모든 예외를 받고 싶다고 하면 catch(...)을 이용하여 예외를 받으면 다른 모든 예외를 받을 수 있다.

그러나 예외의 종류는 알 수 없다.

 

아래는 실행 결과이다. 정수를 0으로 나누는 것은 불가능하므로 예외를 던진다.