본문 바로가기

Programming/C / C++

[C++] 예외(Exception) 처리 try, catch, throw

 예외 처리  
 : 예외란 무엇인가? 예외란 일반적이지 않는 상황을 말하는 것이다. 에러가 아니라는 말이다. 이런 일반적이지 않은 프로그램의 흐름을 처리 하는것을 예외 처리 라고 한다. 

 Try, Catch, Throw  
 : 일단 예외를 처리 하려면, 그에 맞는 문법을 써야 할 것이다. 
 위는 try, catch 문이다. try에는 예외라 불릴 상황을 가진 문장을 집어 넣는 것이다. (try 문은 무조건 실행이 된다.) 처리되어야 할 예외의 종류를 받아 catch 문에서는 이 예외에 대한 처리를 해주는 것이다. (명시적으로 cout문을 이용해 예외가 발생했다고 처리해 주거나 한다)
 다음은 throw로 위와 같이, "조건에 합당하면 예외를 던진다" 예제 소스코드를 보면 이해가 더 쉬울 것이다.

 입력을 받는다고 가정하자. 이 입력받는 곳에는 숫자만 들어와야 하는데, 만약 문자가 들어 온다면 이 상황에서 문자가 들어온 것이 바로 예외 상황이다. 이런 예외 처리를 만약 문자형을 받으면 "예외를 던져(throw exception)" 그 예외에 해당하는 상황을 출력하는 간단한 예제이다. 여기에서 예외 전달을 위해 int 타입도 예외를 전달하는 모습을 보여주고 있다.