Class CatchAndRethrowClosure<E>
java.lang.Object
org.apache.commons.collections4.functors.CatchAndRethrowClosure<E>
Closure
that catches any checked exception and re-throws it as a
FunctorException
runtime 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
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Execute this closure on the specified input object.protected abstract void
executeAndThrow
(E input) Execute this closure on the specified input object.
-
Constructor Details
-
CatchAndRethrowClosure
public CatchAndRethrowClosure()
-
-
Method Details
-
execute
Execute this closure on the specified input object.- Specified by:
execute
in interfaceClosure<E>
- Parameters:
input
- the input to execute on- Throws:
FunctorException
- (runtime) if the closure execution resulted in a checked exception.
-
executeAndThrow
Execute this closure on the specified input object.- Parameters:
input
- the input to execute on- Throws:
Throwable
- if the closure execution resulted in a checked exception.
-