handleErrorWith

inline fun <A, B, C> Either<A, B>.handleErrorWith(f: (A) -> Either<C, B>): Either<C, B>(source)
inline fun <A> Option<A>.handleErrorWith(f: (Unit) -> Option<A>): Option<A>(source)
inline fun <E, A> Validated<E, A>.handleErrorWith(f: (E) -> Validated<E, A>): Validated<E, A>(source)


inline fun <A> Result<A>.handleErrorWith(transform: (throwable: Throwable) -> Result<A>): Result<A>(source)

Compose a recovering transform operation on the failure value Throwable whilst flattening Result.

See also

if you want run a function that catches and maps recovers with (Throwable) -> A.