피드로 돌아가기
Dev.toBackend
원문 읽기
Java throw와 throws를 활용한 명시적 예외 제어 및 책임 전가 설계
#29 - Exception Handling Throw & Throws Keyword Part3
AI 요약
Context
JVM의 implicit exception만으로는 비즈니스 로직의 특수한 오류 상황을 정의하기 어려운 한계 존재. 예외 처리의 책임 소재를 명확히 하여 코드의 모듈성과 유지보수성을 높여야 하는 필요성 대두.
Technical Solution
- throw 키워드를 통한 Exception 서브클래스 객체의 명시적 생성 및 단일 예외 발생 유도
- 특정 비즈니스 조건 충족 시 Custom Exception을 throw 하여 런타임 오류를 제어하는 구조 설계
- throws 키워드를 method signature에 명시하여 예외 처리 책임을 Caller method로 위임하는 구조 채택
- Exception class 명칭을 throws 뒤에 나열함으로써 해당 메서드가 발생시킬 수 있는 잠재적 위험을 명시
- 메서드 내부의 throw를 통한 즉각적인 오류 발생과 메서드 선언부의 throws를 통한 책임 전가의 상호 보완적 활용
실천 포인트
- 특정 조건에서 즉시 예외를 발생시켜야 한다면 메서드 내부에 throw 사용 - 현재 메서드에서 예외를 처리하는 것이 부적절하거나 호출자가 처리해야 한다면 throws로 선언 - throw 뒤에는 인스턴스 변수를, throws 뒤에는 예외 클래스 이름을 배치하는 문법 준수 - 복수의 잠재적 예외가 존재하는 경우 throws를 통해 다중 예외 타입을 선언하여 호출자에게 알림