예외 처리
7. 정리
- 예외는
Throwable아래Error(잡지 말 것) / checkedException(강제 처리) / uncheckedRuntimeException(선택 처리)으로 나뉜다. 비즈니스 예외는 unchecked로 설계하는 것이 현대 관행. finally는 return 값 확정 후, 반환 전에 실행된다. finally에서 return하면 예외를 삼키므로 금지.- 자원은 try-with-resources로. 선언 역순으로 닫히며, close 예외는 suppressed로 보존된다.
- 계층 경계에서 예외를 전환할 때는 반드시 cause를 체이닝한다. 메시지에는 재현 가능한 문맥(id, 금액)을 담는다.
- 빈 catch,
catch (Exception)남발, 흐름 제어용 예외,throws Exception은 안티패턴. 예외 계층은 공통 부모 + 에러 코드 enum + 처리 정책 단위 중간 계층으로 설계한다.
다음 레슨 04. java.lang 핵심에서는 가장 많이 쓰이는 String, StringBuilder, Wrapper 클래스의 내부 동작과 성능 함정을 다룬다.