Interface ThrowableBiConsumer<T,​U>

  • Type Parameters:
    T - the type of the first argument to the operation
    U - the type of the second argument to the operation
    Functional Interface:
    This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

    @FunctionalInterface
    public interface ThrowableBiConsumer<T,​U>
    Represents an operation that accepts two input arguments and returns no result, potentially throwing a Throwable. This is the two-arity specialization of ThrowableConsumer.

    Additionally, this interface provides a default method (andThen(io.microsphere.lang.function.ThrowableBiConsumer<? super T, ? super U>)) to support chaining operations, similar to functional constructs in the JDK.

    Example Usage

    
     ThrowableBiConsumer<Integer, Integer> addAndPrint = (a, b) -> {
         int sum = a + b;
         System.out.println("Sum: " + sum);
     };
    
     addAndPrint.accept(3, 5); // Output: Sum: 8
     

    Error Handling Example

    
     ThrowableBiConsumer<String, Integer> parseAndPrint = (str, radix) -> {
         int value = Integer.parseInt(str, radix);
         System.out.println("Parsed value: " + value);
     };
    
     try {
         parseAndPrint.accept("123", 10); // Output: Parsed value: 123
         parseAndPrint.accept("abc", 16); // May throw NumberFormatException
     } catch (Throwable t) {
         System.err.println("Error occurred: " + t.getMessage());
     }
     
    Since:
    1.0.0
    Author:
    Mercy
    See Also:
    BiConsumer, Throwable
    • Method Detail

      • accept

        void accept​(T t,
                    U u)
             throws java.lang.Throwable
        Performs this operation on the given arguments.
        Parameters:
        t - the first input argument
        u - the second input argument
        Throws:
        java.lang.Throwable - if met with error
      • andThen

        default ThrowableBiConsumer<T,​U> andThen​(ThrowableBiConsumer<? super T,​? super U> after)
                                                throws java.lang.Throwable
        Returns a composed ThrowableBiConsumer that performs, in sequence, this operation followed by the after operation. If performing either operation throws an exception, it is relayed to the caller of the composed operation. If performing this operation throws an exception, the after operation will not be performed.
        Parameters:
        after - the operation to perform after this operation
        Returns:
        a composed ThrowableBiConsumer that performs in sequence this operation followed by the after operation
        Throws:
        java.lang.NullPointerException - if after is null
        java.lang.Throwable