Spring/JAVA

[Java8 Lambda] Exception Handling in Lambdas (try - catch)

alsruds 2023. 10. 13. 17:14
๐Ÿคน‍โ™‚๏ธJava Brains ๊ฐ•์˜๐Ÿคน‍โ™‚๏ธ

https://www.youtube.com/playlist?list=PLqq-6Pq4lTTa9YGfyhyW2CqdtW9RtY-I3

 

๐Ÿ’ก someNumbers ๋ฐฐ์—ด ์›์†Œ๋“ค์„ key ๊ฐ’์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€ ์ถœ๋ ฅํ•˜๊ธฐ ๐Ÿ’ก

 

· key ๊ฐ’์ด 2์ผ ๋•Œ ์ถœ๋ ฅ (์ •์ƒ)

 

· key ๊ฐ’์ด 0์ผ ๋•Œ ์ถœ๋ ฅ (์˜ˆ์™ธ ์ƒํ™ฉ)

 

· Code

import java.util.function.BiConsumer;

public class Main {
    public static void main(String[] args) {
        int[] someNumbers = {1,2,3,4};
        int key = 2;

        process(someNumbers, key, wrapperLambda((v, k) -> System.out.println(v / k)));
    }

    private static void process(int[] someNumbers, int key, BiConsumer<Integer, Integer> consumer) {
        for (int i : someNumbers) {
            consumer.accept(i, key);
        }
    }

    // ์˜ˆ์™ธ ์ƒํ™ฉ ์ฒ˜๋ฆฌ
    private static BiConsumer<Integer, Integer> wrapperLambda(BiConsumer<Integer, Integer> consumer) {
        return (v, k) -> {
            try {
                consumer.accept(v, k);
            } catch (ArithmeticException e) {
                System.out.println("Exception caught in wrapper lambda");
            }
        };
    }
}

'Spring > JAVA' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Java8 Lambda] this  (0) 2023.10.17
[Java8 Lambda] Closures in Lambda Expressions  (1) 2023.10.16
[Java8 Lambda] Using Functional Interfaces (Predicate, Consumer)  (0) 2023.10.12
[Java8 Lambda] Functional Interface  (0) 2023.10.11
[Java8 Lambda] Lambda Expressions  (0) 2023.10.10