Performs an action when method {@link
#completeExceptionally(Throwable)} is invoked or method {@link
#compute} throws an exception, and this task has not already
otherwise completed normally. On entry to this method, this task
{@link ForkJoinTask#isCompletedAbnormally}. The return value
of this method controls further propagation: If {@code true}
and this task has a completer that has not completed, then that
completer is also completed exceptionally, with the same
exception as this completer. The default implementation of
this method does nothing except return {@code true}.
@param ex the exception
@param caller the task invoking this method (which may
be this task itself)
@return {@code true} if this exception should be propagated to this
task's completer, if one exists
Performs an action when method {@link #completeExceptionally(Throwable)} is invoked or method {@link #compute} throws an exception, and this task has not already otherwise completed normally. On entry to this method, this task {@link ForkJoinTask#isCompletedAbnormally}. The return value of this method controls further propagation: If {@code true} and this task has a completer that has not completed, then that completer is also completed exceptionally, with the same exception as this completer. The default implementation of this method does nothing except return {@code true}.
@param ex the exception @param caller the task invoking this method (which may be this task itself) @return {@code true} if this exception should be propagated to this task's completer, if one exists