recoverCatching

inline fun <VALUE> Result<VALUE>.recoverCatching(transform: (Throwable) -> VALUE): Result<VALUE>

Returns the encapsulated result of the given transform function applied to encapsulated exception if this instance represents Error or the original encapsulated value if it is Success.

If Error.error is CancellationException then this error is rethrown.

Any other exception thrown by transform function is caught, encapsulated as a failure and returned by this function. See recover for an alternative that rethrows exceptions.