functionC
예외를 던진 뒤 남은 문장은 실행하지 않습니다.
던져진 예외가 맞는 catch를 찾는 동안 호출 스택이 풀리고,
각 프레임의 지역 객체는 소멸자를 통해 정리됩니다.
functionC예외를 던진 뒤 남은 문장은 실행하지 않습니다.
functionB처리 블록이 없으면 호출자에게 예외를 넘깁니다.
functionA타입이 맞는 catch가 예외 객체를 받아 처리합니다.
처리가 끝나면 try-catch 다음 문장부터 실행됩니다.
스택에 있던 객체의 소멸자는 호출되므로 파일, 락, 메모리는 RAII 타입으로 묶는 것이 안전합니다.
마지막까지 맞는 catch가 없으면 프로그램은
std::terminate로 종료됩니다.