728x90
회사에서 프로젝트 진행시 Optional 객체의 유무를 판단하고 예외를 처리하기 위해 if문을 사용했다
그러다가 개인 스터디에서 다른 분들이 orElseThrow를 사용하는 거를 보고 코드의 가독성이 높다고 생각하게 되었다
아래 if문을 쓸 때와 orElseThrow 사용할 때 코드를 비교해 보면,
예시 코드
public class NoticeService {
// if 사용
public void remove(Long noticeId) {
// select
Optional<NoticeResponse> noticeResponse = noticeMapper.findById(noticeId);
// 예외처리
if(noticeResponse.isEmpty()){ throw new NoticeNotFoundException(); }
if (noticeMapper.deleteById(noticeId) != 1) {
throw new RemoveFailedException();
}
}
// orElseThrow
public void remove(Long noticeId) {
// select & 예외처리 동시에
NoticeResponse noticeResponse = noticeMapper.findById(noticeId)
.orElseThrow(NoticeNotFoundException::new);
if (noticeMapper.deleteById(noticeId) != 1) {
throw new RemoveFailedException();
}
}
}
orElseThrow 사용으로 select 와 예외처리를 동시에 하면서 if문보다 코드 한줄이 줄어든게 된다
한 메소드 안에서 예외처리 많다고 하면 그만큼 코드양이 줄어들고, 가독성이 높아질것이다!👍
728x90
'IT > java' 카테고리의 다른 글
Spring 카카오 로그인 REST API (1) | 2022.10.02 |
---|---|
맥mac 이클립스 스프링 개발 이미지 업로드 파일 경로(윈도우에서 옮겨오면서 생긴 일), 해결중... (0) | 2022.09.02 |
class 생성시, equals() hashCode() 오버라이딩! (0) | 2022.08.07 |
Java에서의 Array, List, Map, Set, lterator (0) | 2022.07.04 |
자바 - 클래스에서 인스턴스(Instance) 생성과 사용 (0) | 2022.05.09 |