getOrElse
Returns the encapsulated value if this instance represents success or the result of onFailure function for the encapsulated Throwable exception if it is failure.
inline fun <R, T : R> Result<T>.getOrElse(onFailure: (exception: Throwable) -> R): R(source)
fun main() {
// Example with a successful Result
val success: Result<Int> = Result.success(42)
val successValue = success.getOrElse { /* this block won't be executed */ 0 }
println("Success value: $successValue") // prints: Success value: 42
// Example with a failing Result
val failure: Result<Int> = runCatching { 10 / 0 } // throws ArithmeticException
val fallbackValue = failure.getOrElse { e ->
println("Caught exception: ${e.message}")
-1
}
println("Fallback value: $fallbackValue") // prints: Fallback value: -1
}