問題点:ラムダ式で例外を処理するのがダサい Java8の Streams API 、使っていますか?とても便利ですね。 Streams API、というかラムダ式は非常に強力です。 Function<String, String> slice = x -> x.substring(3, 6); System.out.println(slice.apply("abcdefghij")); // -> "def" が多く指摘されている通り1例外処理との相性が悪く、ラムダの外で例外を補足することはできません。(いや、そりゃラムダで一塊の処理なんだから当たり前でしょ、と思いつつ。) 上の例だと文字列が3文字以下だとエラーになってしまうので、エラー発生時にはそのまま返すように例外処理を入れてみましょう。