throw 순간 남은 try는 멈추고 catch를 찾는다

예외가 던져지면 현재 블록을 빠져나가며, 스택 정리 후 타입이 맞는 catch로 이동한다.

실행 중try 안에서 조건 검사
throw예외 객체를 만들고 현재 흐름 중단
unwind지나온 함수의 지역 객체 정리
catch처리 가능한 타입을 만나면 복구
경로실행결과
정상throw가 발생하지 않음try 아래 문장을 계속 실행
예외throw 아래 문장을 건너뜀가장 가까운 호환 catch 탐색
미처리맞는 catch가 없음호출자 쪽으로 계속 전파
복구 후catch 블록이 끝남catch 뒤의 정상 흐름으로 합류

핵심: throw는 값을 돌려주는 문장이 아니라, 복구 가능한 경계까지 제어를 옮기는 신호다.