# AudioSink.WriteException

Artifact: [androidx.media3:media3-exoplayer](https://developer.android.com/jetpack/androidx/releases/media3) [View Source](https://cs.android.com/search?q=file:androidx/media3/exoplayer/audio/AudioSink.java+class:androidx.media3.exoplayer.audio.AudioSink.WriteException)

*** ** * ** ***


```
public final class AudioSink.WriteException extends Exception
```

<br />

|---|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object.html) ||||
| ↳ | [kotlin.Throwable](https://developer.android.com/reference/java/lang/Throwable.html) |||
|   | ↳ | [java.lang.Exception](https://developer.android.com/reference/java/lang/Exception.html) ||
|   |   | ↳ | [androidx.media3.exoplayer.audio.AudioSink.WriteException](https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioSink.WriteException) |

*** ** * ** ***

Thrown when a failure occurs writing to the sink.

## Summary

| ### Public fields |
|---|---|
| `final int` | `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioSink.WriteException#errorCode()` The error value returned from the sink implementation. |
| `final https://developer.android.com/reference/androidx/media3/common/Format` | `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioSink.WriteException#format()` The input `https://developer.android.com/reference/androidx/media3/common/Format` of the sink when the error occurs. |
| `final boolean` | `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioSink.WriteException#isRecoverable()` If the exception can be recovered by recreating the sink. |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/audio/AudioSink.WriteException#WriteException(int,androidx.media3.common.Format,boolean)(int errorCode, https://developer.android.com/reference/androidx/media3/common/Format format, boolean isRecoverable)` Creates an instance. |

### Inherited methods

From [java.lang.Throwable](https://developer.android.com/reference/java/lang/Throwable.html) `synchronized final void` `https://developer.android.com/reference/java/lang/Throwable.html#addSuppressed(java.lang.Throwable)(https://developer.android.com/reference/java/lang/Throwable.html exception)` `synchronized https://developer.android.com/reference/java/lang/Throwable.html` `https://developer.android.com/reference/java/lang/Throwable.html#fillInStackTrace()()` `synchronized https://developer.android.com/reference/java/lang/Throwable.html` `https://developer.android.com/reference/java/lang/Throwable.html#getCause()()` `https://developer.android.com/reference/java/lang/String.html` `https://developer.android.com/reference/java/lang/Throwable.html#getLocalizedMessage()()` `https://developer.android.com/reference/java/lang/String.html` `https://developer.android.com/reference/java/lang/Throwable.html#getMessage()()` `StackTraceElement[]` `https://developer.android.com/reference/java/lang/Throwable.html#getStackTrace()()` `synchronized final Throwable[]` `https://developer.android.com/reference/java/lang/Throwable.html#getSuppressed()()` `synchronized https://developer.android.com/reference/java/lang/Throwable.html` `https://developer.android.com/reference/java/lang/Throwable.html#initCause(java.lang.Throwable)(https://developer.android.com/reference/java/lang/Throwable.html cause)` `void` `https://developer.android.com/reference/java/lang/Throwable.html#printStackTrace()()` `void` `https://developer.android.com/reference/java/lang/Throwable.html#setStackTrace(java.lang.StackTraceElement[])(StackTraceElement[] stackTrace)` `https://developer.android.com/reference/java/lang/String.html` `https://developer.android.com/reference/java/lang/Throwable.html#toString()()`

## Public fields

### errorCode

```
public final int errorCode
```

The error value returned from the sink implementation. If the sink writes to a platform `https://developer.android.com/reference/android/media/AudioTrack.html`, this will be the error value returned from `https://developer.android.com/reference/android/media/AudioTrack.html#write(byte[], int, int)` or `https://developer.android.com/reference/android/media/AudioTrack.html#write(java.nio.ByteBuffer, int, int)`. Otherwise, the meaning of the error code depends on the sink implementation.

### format

```
public final Format format
```

The input `https://developer.android.com/reference/androidx/media3/common/Format` of the sink when the error occurs.

### isRecoverable

```
public final boolean isRecoverable
```

If the exception can be recovered by recreating the sink.

## Public constructors

### WriteException

```
public WriteException(int errorCode, Format format, boolean isRecoverable)
```

Creates an instance.

| Parameters |
|---|---|
| `int errorCode` | The error value returned from the sink implementation. |
| `https://developer.android.com/reference/androidx/media3/common/Format format` | The input format of the sink when the error occurs. |
| `boolean isRecoverable` | Whether the exception can be recovered by recreating the sink. |