IT/java
orElseThrow로 코드 가독성을 높이자
토희
2023. 8. 30. 10:30
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