본문 바로가기
Study/C++

[C++]예외처리(Exception Handling)

by DawIT 2020. 12. 16.
320x100

코드를 작성하다 보면 다양한 예외(Exception) 상황들을 만날 수 있다.

 

 

이런 코드를 작성한다고 하면,

 

 

실행 시 0을 입력하게 될 경우 division by zero라는 예외가 뜨면서 프로그램이 종료된다.

 

그렇다면 C++에서 예외처리는 어떻게 하는 것일까?

 

예외처리는 기본적으로 try-catch 문을 이용한다.

 

try-catch문

try
{
	(예외가 발생할 수 있는 코드)
		if (예외가 발생할 조건)
			throw 변수;
} catch (변수타입 변수이름)
{
	(예외를 처리하는 코드)
}

 

try-catch 문의 구조이다. 예외가 발생할 수 있는 코드를 try 안에 넣고, if를 사용하여 예외를 걸러내여 catch 에서 처리하면 된다.

 

throw로 변수를 던지게 되는데, 이때 일치하는 변수타입의 catch문만 실행된다.

 

만약 if문에서 예외가 발생할 조건이 만족되어 throw로 예외가 던져졌다면, try 문의 나머지 코드들은 무시되고 예외 처리를 진행한다.

 

 

아까 만들었던 피자조각 예제를 try-catch 문으로 감싼 형태이다.

 

 

이제 0을 입력하더라도, catch문이 실행되면서 프로그램이 종료되지 않게 된다.

댓글