294

使いたいです

java.util.Optional.orElseThrow()

コンストラクターパラメーターを要求する例外タイプを使用します。このようなもの:

.orElseThrow(MyException::new(someArgument)) // obviously NOT working

引数の値を渡す Supplier を作成する方法はありますか?

4

3 に答える 3

578

もちろん。

.orElseThrow(() -> new MyException(someArgument))
于 2014-04-07T15:50:29.520 に答える
26

メソッドから RuntimeException のみをスローできるようですorElseThrow。そうしないと、次のようなエラー メッセージが表示されます。 MyException cannot be converted to java.lang.RuntimeException

更新:- これは古いバージョンの JDK の問題でした。最新バージョンではこの問題は見られません。

于 2015-02-11T09:03:41.443 に答える