Effective Java | #71. 필요 없는 검사 예외 사용은 피하라

보람·2022년 5월 14일
0

Effective-Java

목록 보기
25/25

이전 이야기 : 복구할 수 있는 상황에는 검사 예외를, 프로그래밍 오류에는 런타임 예외를 사용하라


(해당 이미지 링크)

검사 예외는 개발자가 직접 명시해서 처리를 해야 한다!!

검사 예외를 제대로 사용하면요..

  • 발생한 문제를 프로그래머가 처리하여 안전성을 높이게끔 해줌
  • but, 과한 처리는 오히려 불편한 API가 됩니다.
  • API를 제대로 사용해도 발생할 수 있는 예외이거나, 프로그래머가 의미 있는 조치를 취할 수 있는 경우라면 이 정도 부담쯤이야~
    • 그렇지 않은 경우라면(예외상황 발생시 복구할 방법이 없다면) 비검사예외 사용!

검사예외 회피하기

  • 메서드가 단 하나의 검사 예외만 던지는 경우라면 굳이 try블록을 추가?
  • 가장 쉬운 회피 방법은!! 적절한 옵셔널을 반환하는 것!
    • 단점 : 발생 이유를 담을 수 없다
  • 검사 예외를 던지는 메서드 2개로 쪼개기
if(obj.actionPermitted(args)) { //actionPermitted는 예외 반환 함수 
	obj.action(args);
} else {
	... // 예외상황 대처
}

만일 이 코드는 무조건 성공이야! 라고 확신할 수 있다면..아래코드만 작성해도 무방

obj.action(args);

혼자 정리해보기

개발자가 문제가 발생했을 때 직접 처리 가능한 것이라면 검사 예외(try절사용)를 처리할 방안이 없다면 비검사 예외사용!

profile
백엔드 개발자

0개의 댓글