쉬운 프로그래밍

Optional을 통한 예외처리 본문

Programming/Java

Optional을 통한 예외처리

쉬운형 2021. 1. 21. 12:57
    public Long join(Member member) {

        //중복 예외처리
        Optional<Member> result = memberRepository.findById(member.getId());

        result.ifPresent(m -> {
            throw new IllegalStateException("이미 존재하는 회원입니다.");
        });
    }

위와 같이 Optional을 바로 return받아서 예외처리를 할 수 있지만 이는 좋은 방법이 아니다.

 

    public Long join(Member member) {

        // Optional 더 깔끔하게
        this.memberRepository.findById(member.getId())
                .ifPresent(m -> {
                    throw new IllegalStateException("이미 존재하는 회원입니다.");
                });;

        this.memberRepository.save(member);
        return member.getId();
    }

 

이거처럼 Optional을 따로 반환받지 않고 바로 Exception을 터뜨리는게 더 깔끔하다.

Comments