EXCEPTION FLOW

예외 처리는 오류 흐름을 정상 흐름 밖으로 분리한다

오류가 발생하면 즉시 던지고, 호출 스택을 거슬러 올라가 처리할 catch를 찾는다.

throw예외 객체를 던지고 현재 실행 흐름을 중단한다.
stack unwinding스택을 되감으며 지역 객체를 정리한다.
catch타입이 맞는 처리 블록에서 복구 또는 종료를 결정한다.
반환값 방식호출자가 매번 검사해야 하며 누락되면 오류가 조용히 통과한다.
예외 방식오류 경로를 한곳으로 모아 정상 로직의 가독성을 지킨다.

try { risky(); } catch (const std::exception& e) { recover(e); }