Class CatchAndRethrowClosure<T>
- java.lang.Object
-
- org.apache.commons.collections4.functors.CatchAndRethrowClosure<T>
-
- Type Parameters:
T- the type of the input to the operation.
- All Implemented Interfaces:
java.util.function.Consumer<T>,Closure<T>
public abstract class CatchAndRethrowClosure<T> extends java.lang.Object implements Closure<T>
Closurethat catches any checked exception and re-throws it as aFunctorExceptionruntime exception. Example usage:// Create a catch and re-throw closure via anonymous subclass CatchAndRethrowClosure<String> writer = new ThrowingClosure() { private java.io.Writer out = // some writer protected void executeAndThrow(String input) throws IOException { out.write(input); // throwing of IOException allowed } }; // use catch and re-throw closure java.util.List<String> strList = // some list try { CollectionUtils.forAllDo(strList, writer); } catch (FunctorException ex) { Throwable originalError = ex.getCause(); // handle error }- Since:
- 4.0
-
-
Constructor Summary
Constructors Constructor Description CatchAndRethrowClosure()Constructs a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidexecute(T input)Execute this closure on the specified input object.
-
-
-
Method Detail
-
execute
public void execute(T input)
Execute this closure on the specified input object.- Specified by:
executein interfaceClosure<T>- Parameters:
input- the input to execute on- Throws:
FunctorException- (runtime) if the closure execution resulted in a checked exception.
-
-