C++ · exception

try-throw-catch 스택 전개 흐름

예외가 던져지면 호출 스택을 되감으며 소멸자를 호출하고 맞는 catch 블록을 찾습니다.

예외 처리 단계

exception

try block

예외가 발생할 수 있는 코드를 감쌉니다.

throw

예외 객체를 만들어 정상 흐름을 벗어납니다.

stack unwind

호출 스택을 되감으며 자원을 정리합니다.

catch match

선언된 타입과 순서에 맞는 처리기를 찾습니다.

continue

처리 후 catch 뒤 흐름으로 이어갑니다.

try throw unwind catch match continue

정리

C++ 예외 처리의 핵심은 catch 문 하나가 아니라 스택 전개 중 자원 정리가 정확히 일어나는 RAII 흐름입니다.