# OutcomeReceiverCompat

Artifact: [androidx.core:core](https://developer.android.com/jetpack/androidx/releases/core) [View Source](https://cs.android.com/search?q=file:androidx/core/os/OutcomeReceiverCompat.java+class:androidx.core.os.OutcomeReceiverCompat) Added in [1.16.0](https://developer.android.com/jetpack/androidx/releases/core#1.16.0)

*** ** * ** ***


```
public interface OutcomeReceiverCompat<R, E extends Throwable>
```

<br />

*** ** * ** ***

Callback interface intended for use when an asynchronous operation may result in a failure. This interface may be used in cases where an asynchronous API may complete either with a value or with a `https://developer.android.com/reference/java/lang/Throwable.html` that indicates an error.

| Parameters |
|---|---|
| `<R>` | The type of the result that's being sent. |
| `<E extends https://developer.android.com/reference/java/lang/Throwable.html>` | The type of the `https://developer.android.com/reference/java/lang/Throwable.html` that contains more information about the error. This interface serves the same purpose as [android.os.OutcomeReceiver](https://developer.android.com/reference/android/os/OutcomeReceiver), but can be used on API versions before 31. |

## Summary

| ### Public methods |
|---|---|
| `default void` | `https://developer.android.com/reference/androidx/core/os/OutcomeReceiverCompat#onError(E)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html E error)` Called when the asynchronous operation fails. |
| `abstract void` | `https://developer.android.com/reference/androidx/core/os/OutcomeReceiverCompat#onResult(R)(R result)` Called when the asynchronous operation succeeds and delivers a result value. |

## Public methods

### onError

Added in [1.16.0](https://developer.android.com/jetpack/androidx/releases/core#1.16.0)

```
default void onError(@NonNull E error)
```

Called when the asynchronous operation fails. The mode of failure is indicated by the `https://developer.android.com/reference/java/lang/Throwable.html` passed as an argument to this method.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html E error` | A subclass of `https://developer.android.com/reference/java/lang/Throwable.html` with more details about the error that occurred. |

### onResult

Added in [1.16.0](https://developer.android.com/jetpack/androidx/releases/core#1.16.0)

```
abstract void onResult(R result)
```

Called when the asynchronous operation succeeds and delivers a result value.

| Parameters |
|---|---|
| `R result` | The value delivered by the asynchronous operation. |