사용하고 싶습니다
java.util.Optional.orElseThrow()
생성자 매개 변수를 요청하는 예외 유형이 있습니다. 이 같은:
.orElseThrow(MyException::new(someArgument)) // obviously NOT working
인수 가치를 전달하는 공급 업체를 만드는 방법이 있습니까?
답변
확실한.
.orElseThrow(() -> new MyException(someArgument))
답변
메소드에서 RuntimeException 만 던질 수있는 것으로 보입니다 orElseThrow
. 그렇지 않으면 다음과 같은 오류 메시지가 나타납니다. MyException cannot be converted to java.lang.RuntimeException
업데이트 :-이전 버전의 JDK에서 문제였습니다. 최신 버전에서는이 문제가 표시되지 않습니다.
답변
optionalUsers.orElseThrow(() -> new UsernameNotFoundException("Username not found"));