Answers:
看来您只能从该方法抛出RuntimeException orElseThrow
。否则,您会收到一条错误消息,例如 MyException cannot be converted to java.lang.RuntimeException
更新:-这是旧版JDK的问题。我没有在最新版本中看到此问题。
Optional
Groovy 时无法使用。尝试throw Exception
从常规的闭包开始,但由于失败java.lang.reflect.UndeclaredThrowableException
,更改为RuntimeException
固定的。
optionalUsers.orElseThrow(() -> new UsernameNotFoundException("Username not found"));
orElseThrow(() -> new MyException(someArgument))
呢?