[C++] Try Catch
개념
예외란 문법적 오류가 아닌 프로그램이 의도치 않은 오류를 말합니다. 즉 개발자가 상정한 동작이 아닌 나머지 전체라고 할 수 있는데, 대부분의 경우 예외가 발생하면 시도했던 모든 프로세스를 취소하고 그 전 상태로 되돌아가도록 프로그램을 작성하거나 종료하도록 작성합니다.
try catch문 작성
C언어에서는 예외처리를 if문으로 처리를 했습니다만 C++에서는 예외 상황을 다룰 수 있는 구조를 문법으로 제공하는데 이것이 바로 try catch문 입니다.
예제
기본적인 try catch의 문법입니다.
try : 내부에 예외가 있는지 탐색합니다.
throw : try에서 예외를 탐색하면 throw에서 catch로 인자를 던집니다.
catch : throw에서 던진 변수를 인자로 받아서 catch 안에 정의한 예외처리를 합니다.
try // 예외가 발생하는 영역
{
if (예외 조건)
{
throw 예외 객체; // 예외가 발생하면 예외를 던지는 영역
}
}
catch (예외 객체) // 던져진 예외를 잡는 영역
{
// 예외 처리 영역
}
상기의 예외처리 try catch는 깔끔하긴 하지만 사용하면 할수록 프로그램 성능에는 악영향을 미치기 때문에 무작정 사용하면 안됩니다.
일반적으로 예외처리를 해야하는 경우라면 일반적으로 서버같은 경우에서 입력값에 오염이 발생하는등의 예측할 수 없는 경우가 생겨 큰 문제가 일어나면 안되기때문에 특정 예외가 발생하여도 서버가 강제로 종료되지 않고 버티도록 하는 경우에 종종 사용됩니다.