[C언어/C++] try, catch, throw

1
2
3
4
5
6
try {
    throw exception;
}
 
catch (int exc) {
}
cs

주로 예외처리를 위한 코드로 사용되는 try, catch, throw에 대해 알아보자

try 블럭은 예외의 발생에 대한 검사 기준을 지정할 때 사용되고 catch 블럭은 try 블록에서 발생한 예외를 처리하는 코드가 담기는 영역이다.

catch 블럭은 항상 try 블럭의 뒤에 이어서 등장해야 하며, try 블럭에서 발생한 예외는 catch 블럭에서 처리된다.

throw는 예외가 발생했음을 알리는 문장의 구성에 사용되는데 이걸 묶어서 설명하자면 throw에 의해 데이터가 던져지면 try 블럭에 의해 감지가 되고 try 블럭에 감지가 일어나면 try 블럭 내부의 남은 내용은 모두 건너뛰게 되고 던져진 데이터는 catch에 의해 처리된다.

이때 throw로 던져진 데이터의 자료형과 catch 블럭의 매개변수 자료형이 일치해야하고 일치하지 않을 경우 그냥 프로그램이 종료된다.

그리고 catch 문은 다중으로 사용할 수도 있다.

관련글

제목 작성자 작성일