使いたい
Java.util.Optional.orElseThrow()
コンストラクタパラメータを要求するException型を指定します。このようなもの:
orElseThrow(MyException::new(someArgument)) // obviously NOT working
私の引数値を渡すSupplierを作成する方法はありますか?
もちろんです。 orElseThrow(() -> new MyException(someArgument))
。
メソッドorElseThrow
からRuntimeExceptionのみをスローできるようです。それ以外の場合は、MyException cannot be converted to Java.lang.RuntimeException
のようなエラーメッセージが表示されます。
optionalUsers.orElseThrow(() -> new UsernameNotFoundException("Username not found"));