NoSuchElementException

song yuheon·2023년 9월 22일
0

Trouble Shooting

목록 보기
18/57
post-thumbnail

문제



문제 상황


    public User LoginUserExistCheck() {
        User user = userRepository.findById(SecurityUtil.getPrincipal().get().getId()).orElseThrow(
                ()-> new UserNotFoundException("로그인한 회원을 찾을 수 없습니다.")
        );
        return user;
    }

테스트 코드 실행 중 특정 부분에서 NoSuchElementException이 발생했다.
이 예외는 주로 특정 요소가 예상한 위치나 컬렉션에 없을 때 발생하는 Java의 java.util 패키지의 런타임 예외다.
해당 코드에 예외가 발생했을때 사용자 예외를 설정해 두어서 해당 예외가 발생한 것이 의아했다.


문제 원인


SecurityUtil.getPrincipal().get().getId() 부분에서 예외가 발생하는 것을 확인했다.
즉 사용자 정의 오류 처리한 부분은 findById이지만 그 안에서 예외가 발생하였기에 사용자 정의 예외가 안 나온것이다.


해결


NoSuchElementException에 대한 테스트 코드 역시 작성해서 해결


profile
backend_Devloper

0개의 댓글