홈 › 중급 › 03 / 9

예외 처리

섹션 7진행 0 / 9

7. 정리

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

다음 레슨 04. java.lang 핵심에서는 가장 많이 쓰이는 String, StringBuilder, Wrapper 클래스의 내부 동작과 성능 함정을 다룬다.