例外を除いたJava8Lambda関数の割り当て

user13902742

機能があります

public ShoppingCart fetchCart(Long storeId) throw NotFoundException {
    ///
}

次に、を使用してこの関数を別の関数に割り当てようとしました

Function<Long, ShoppingCart> func = e -> {
    fetchCart(e)
}

しかし、それは常に例外が処理されないことを私に告げています。しかし、関数の割り当ての周りにtry / catchを追加しようとすると、「Function <Long、ShoppingCart> func」で例外が発生しません。

これを実行し、元の関数の例外をキャプチャする方法はありますか?ありがとう!

もう少しコンテキスト。funcをパラメーターとして別の関数に与えて、このfuncを別の関数で並行して実行できるようにしたいので、これを行っています...これらの関数の値を例外でも比較するように。したがって、関数はfetchCartではなくキャプチャするために不可欠です。

g.momo

あなたの問題はNotFoundExceptionがチェックされた例外だと思います。チェックされた例外(RuntimeExceptionサブクラスではない)はラムダでスローできません。回避策は、それをキャッチし、RuntimeException内でその原因として再スローすることです。

例えば:

Function<Long, ShoppingCart> func = e -> {
        try {
            return fetchCart(e);
        } catch (NotFoundException ex) {
            RuntimeException re = new RuntimeException();
             re.initCause(ex);
             throw re;
        }
        return null;
    };

次に、runtimeExceptionをキャッチするときに、その原因を処理する必要があります。

try {
    /// call func here
} catch(Exception e) {
    ((NotFoundException)e.getCause()).printStackTrace();
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

互換性のない引数を使用したJava8Lambda翻訳

分類Dev

シリアル化を使用したJava8Lambda式

分類Dev

シリアル化を使用したJava8Lambda式

分類Dev

例外を除いて日付の違いを見つけるためのR関数?

分類Dev

関数の条件に基づいてpriceFilterにtrue / falseを割り当てたい

分類Dev

関数定義の周りを除いて、例外処理はtry-で無視されます

分類Dev

Javascriptで関数に割り当てられた複数の変数を宣言するためのより良い方法

分類Dev

関数に割り当てられたメモリの割り当てを解除する

分類Dev

Luaローカル関数は、宣言時に割り当てられた場合を除いて、ローカル変数メンバーを選択しません

分類Dev

関数オブジェクトを関数ラッパーに割り当てた後の予期しない動作

分類Dev

Rでforループの代わりに関数を使用する:例外を除いて前の行を繰り返し減算する

分類Dev

例外をスローするJava 8 Lambda関数?

分類Dev

+ =を使用したPythonの名前空間の変数への関数内の予期しない割り当て

分類Dev

ラムダを使用したPythondef関数の割り当て

分類Dev

変数を割り当てた後、reactjs関数が呼び出しています

分類Dev

malloc()とfree()を除く標準ライブラリの他の関数を使用せずに、動的に割り当てられたコピーを返すconst char * s

分類Dev

関数の戻り値を変数に割り当てないことの意味

分類Dev

グローバルを使用しない、またはCの関数入力を変更しない、関数内の配列への変数の割り当て

分類Dev

動的に割り当てられた配列を使用したc ++関数の興味深い構文エラー

分類Dev

行数を「変数」に割り当てたい

分類Dev

Java 8型推論エラー、ラムダ式をObject型の変数に割り当てています

分類Dev

辞書の値に関数を割り当てているときにエラーが発生しました

分類Dev

GroovyコンパイラはJava8Lambdaを受け入れません

分類Dev

動的に割り当てられたIDをJavaScript関数に渡したい

分類Dev

whileループ条件で関数の戻り値に割り当て、途中で例外をキャッチします

分類Dev

複数の列に基づいて値を割り当てるR関数

分類Dev

Sqlparameterには例外を割り当てる必要があります。割り当てた場合、主キー制約の例外に違反しています。

分類Dev

関数で定義された変数の値を別の関数の変数に割り当てる

分類Dev

'$ where'に割り当てられた関数の外部変数を渡す方法

Related 関連記事

  1. 1

    互換性のない引数を使用したJava8Lambda翻訳

  2. 2

    シリアル化を使用したJava8Lambda式

  3. 3

    シリアル化を使用したJava8Lambda式

  4. 4

    例外を除いて日付の違いを見つけるためのR関数?

  5. 5

    関数の条件に基づいてpriceFilterにtrue / falseを割り当てたい

  6. 6

    関数定義の周りを除いて、例外処理はtry-で無視されます

  7. 7

    Javascriptで関数に割り当てられた複数の変数を宣言するためのより良い方法

  8. 8

    関数に割り当てられたメモリの割り当てを解除する

  9. 9

    Luaローカル関数は、宣言時に割り当てられた場合を除いて、ローカル変数メンバーを選択しません

  10. 10

    関数オブジェクトを関数ラッパーに割り当てた後の予期しない動作

  11. 11

    Rでforループの代わりに関数を使用する:例外を除いて前の行を繰り返し減算する

  12. 12

    例外をスローするJava 8 Lambda関数?

  13. 13

    + =を使用したPythonの名前空間の変数への関数内の予期しない割り当て

  14. 14

    ラムダを使用したPythondef関数の割り当て

  15. 15

    変数を割り当てた後、reactjs関数が呼び出しています

  16. 16

    malloc()とfree()を除く標準ライブラリの他の関数を使用せずに、動的に割り当てられたコピーを返すconst char * s

  17. 17

    関数の戻り値を変数に割り当てないことの意味

  18. 18

    グローバルを使用しない、またはCの関数入力を変更しない、関数内の配列への変数の割り当て

  19. 19

    動的に割り当てられた配列を使用したc ++関数の興味深い構文エラー

  20. 20

    行数を「変数」に割り当てたい

  21. 21

    Java 8型推論エラー、ラムダ式をObject型の変数に割り当てています

  22. 22

    辞書の値に関数を割り当てているときにエラーが発生しました

  23. 23

    GroovyコンパイラはJava8Lambdaを受け入れません

  24. 24

    動的に割り当てられたIDをJavaScript関数に渡したい

  25. 25

    whileループ条件で関数の戻り値に割り当て、途中で例外をキャッチします

  26. 26

    複数の列に基づいて値を割り当てるR関数

  27. 27

    Sqlparameterには例外を割り当てる必要があります。割り当てた場合、主キー制約の例外に違反しています。

  28. 28

    関数で定義された変数の値を別の関数の変数に割り当てる

  29. 29

    '$ where'に割り当てられた関数の外部変数を渡す方法

ホットタグ

アーカイブ