reactor-core/src/main/java/reactor/core/publisher/Hooks.java
public static void onNextError(BiFunction<? super Throwable, Object, ? extends Throwable> onNextError) {
		Objects.requireNonNull(onNextError, "onNextError");
		log.debug("Hooking new default : onNextError");

		if (onNextError instanceof OnNextFailureStrategy) {
			synchronized(log) {
				onNextErrorHook = (OnNextFailureStrategy) onNextError;
			}
		}
		else {
			synchronized(log) {
				onNextErrorHook = new OnNextFailureStrategy.LambdaOnNextErrorStrategy(onNextError);
			}
		}
	}
public static void onNextError(BiFunction<? super Throwable, Object, ? extends Throwable> onNextError) {
		Objects.requireNonNull(onNextError, "onNextError");
		log.debug("Hooking new default : onNextError");

		if (onNextError instanceof OnNextFailureStrategy) {
			synchronized(log) {
				onNextErrorHook = (OnNextFailureStrategy) onNextError;
			}
		}
		else {
			synchronized(log) {
				onNextErrorHook = new OnNextFailureStrategy.LambdaOnNextErrorStrategy(onNextError);
			}
		}
	}
public static void onNextError ( BiFunction < ? super Throwable , Object , ? extends Throwable > onNextError ) { Objects . requireNonNull ( onNextError , "onNextError" ) ; log . debug ( "Hooking new default : onNextError" ) ; if ( onNextError instanceof OnNextFailureStrategy ) { synchronized ( log ) { onNextErrorHook = ( OnNextFailureStrategy ) onNextError ; } } else { synchronized ( log ) { onNextErrorHook = new OnNextFailureStrategy . LambdaOnNextErrorStrategy ( onNextError ) ; } } }
Set the custom global error mode hook for operators that support resuming
during an error in their {@link org.reactivestreams.Subscriber#onNext(Object)}.
<p>
The hook is a {@link BiFunction} of {@link Throwable} and potentially null {@link Object}.
If it is also a {@link java.util.function.BiPredicate}, its
{@link java.util.function.BiPredicate#test(Object, Object) test} method should be
used to determine if an error should be processed (matching predicate) or completely
skipped (non-matching predicate). Typical usage, as in {@link Operators}, is to
check if the predicate matches and fallback to {@link Operators#onOperatorError(Throwable, Context)}
if it doesn't.

@param onNextError the new {@link BiFunction} to use.
Set the custom global error mode hook for operators that support resuming during an error in their { @link org . reactivestreams . Subscriber#onNext ( Object ) } . <p > The hook is a { @link BiFunction } of { @link Throwable } and potentially null { @link Object } . If it is also a { @link java . util . function . BiPredicate } its { @link java . util . function . BiPredicate#test ( Object Object ) test } method should be used to determine if an error should be processed ( matching predicate ) or completely skipped ( non - matching predicate ) . Typical usage as in { @link Operators } is to check if the predicate matches and fallback to { @link Operators#onOperatorError ( Throwable Context ) } if it doesn t .