Interface CheckedFunction<T,R>
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
Variant of
– the function argument type
– the function result type
Function that behaves like Function, but which allows checked Exception's to be thrown
from its apply(Object) method-
Method Summary
Modifier and TypeMethodDescriptionThis method performs the operation that may fail with a CheckedExceptionstatic <T,R> Function<T, R> safe(CheckedFunction<T, R> functionThatCanFailWithACheckedException) Wraps aCheckedFunction(basically a lambda with one argument that returns a result and which throws a CheckedException) by returning a newFunctioninstance
The returnedFunction.apply(Object)method delegates directly to theapply(Object)and catches any thrown checkedException's and rethrows them as aCheckedExceptionRethrownException
Unless you provide a context-message (usingsafe(String, CheckedFunction)then any caught checkedException's message also becomes theCheckedExceptionRethrownException's message.
AnyRuntimeException's thrown aren't caught and the calling code will receive the originalRuntimeExceptionthrown.
Usage example:
Let's say we have a method calledsomeOperationthat cannot change, but which accepts aFunctionwith the purpose of the calling theFunction.apply(Object).static <T,R> Function<T, R> safe(String contextMessage, CheckedFunction<T, R> functionThatCanFailWithACheckedException) Wraps aCheckedFunction(basically a lambda with one argument that returns a result and which throws a CheckedException) by returning a newFunctioninstance
The returnedFunction.apply(Object)method delegates directly to theapply(Object)and catches any thrown checkedException's and rethrows them as aCheckedExceptionRethrownException
AnyRuntimeException's thrown aren't caught and the calling code will receive the originalRuntimeExceptionthrown.
Usage example:
Let's say we have a method calledsomeOperationthat cannot change, but which accepts aFunctionwith the purpose of the calling theFunction.apply(Object).
-
Method Details
-
apply
This method performs the operation that may fail with a CheckedException- Parameters:
argument- the function argument- Returns:
- the result of performing the function
- Throws:
Exception- this method can throw both checkedException's as well asRuntimeException's