try는 실패 범위, catch는 복구 범위를 표시한다
예외 문법의 목적은 위험한 코드와 복구 코드를 한눈에 분리하는 것이다.
try실패 가능성이 있는 최소 코드 범위
throw정상 흐름을 중단하는 실패 신호
catch(type)타입이 맞을 때만 실행되는 복구 경계
after복구 후 이어지는 정상 흐름
| 문법 | 의미 | 주의 |
|---|---|---|
| try { } | 감시할 코드만 감싼다 | 너무 넓게 잡으면 원인이 흐려진다 |
| throw e | 예외 객체를 만들고 흐름을 옮긴다 | 아래 문장은 실행되지 않는다 |
| catch (T) | 던져진 타입과 호환될 때 처리한다 | 구체 타입을 먼저 둔다 |
| catch (...) | 마지막 방어선이다 | 원인을 잃기 쉬워 남용하지 않는다 |
핵심: try-catch는 “어디가 위험한가”와 “어디서 복구하는가”를 코드 구조로 보여준다.