# BackendBusyException

Added in[API level 31](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Summary:[Ctors](https://developer.android.com/reference/android/security/keystore/BackendBusyException#pubctors)\|[Methods](https://developer.android.com/reference/android/security/keystore/BackendBusyException#pubmethods)\|[Inherited Methods](https://developer.android.com/reference/android/security/keystore/BackendBusyException#inhmethods)  

# BackendBusyException

*** ** * ** ***

[Kotlin](https://developer.android.com/reference/kotlin/android/security/keystore/BackendBusyException "View this page in Kotlin")\|Java

`
public


class
BackendBusyException
`  
`


``


``


``


``

extends `[ProviderException](https://developer.android.com/reference/java/security/ProviderException)`


``


`

|---|---|---|---|---|------------------------------------------------|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||||||
| ↳ | [java.lang.Throwable](https://developer.android.com/reference/java/lang/Throwable) |||||
|   | ↳ | [java.lang.Exception](https://developer.android.com/reference/java/lang/Exception) ||||
|   |   | ↳ | [java.lang.RuntimeException](https://developer.android.com/reference/java/lang/RuntimeException) |||
|   |   |   | ↳ | [java.security.ProviderException](https://developer.android.com/reference/java/security/ProviderException) ||
|   |   |   |   | ↳ | android.security.keystore.BackendBusyException |

<br />

*** ** * ** ***

Indicates a transient error that prevented a key operation from being created. Callers should try again with a back-off period of[getBackOffHintMillis()](https://developer.android.com/reference/android/security/keystore/BackendBusyException#getBackOffHintMillis())milliseconds.

## Summary

|                                                                                                                                                                                                                         ### Public constructors                                                                                                                                                                                                                         ||
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| ` `[BackendBusyException](https://developer.android.com/reference/android/security/keystore/BackendBusyException#BackendBusyException(long))`(long backOffHintMillis) ` Constructs a new`BackendBusyException`without detail message and cause.                                                                                                                                                                                                                      |
| ` `[BackendBusyException](https://developer.android.com/reference/android/security/keystore/BackendBusyException#BackendBusyException(long,%20java.lang.String))`(long backOffHintMillis, `[String](https://developer.android.com/reference/java/lang/String)` message) ` Constructs a new`BackendBusyException`with the provided detail message and no cause.                                                                                                       |
| ` `[BackendBusyException](https://developer.android.com/reference/android/security/keystore/BackendBusyException#BackendBusyException(long,%20java.lang.String,%20java.lang.Throwable))`(long backOffHintMillis, `[String](https://developer.android.com/reference/java/lang/String)` message, `[Throwable](https://developer.android.com/reference/java/lang/Throwable)` cause) ` Constructs a new`BackendBusyException`with the provided detail message and cause. |

|                                                                                                                                         ### Public methods                                                                                                                                         ||
|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` long` | ` `[getBackOffHintMillis](https://developer.android.com/reference/android/security/keystore/BackendBusyException#getBackOffHintMillis())`() ` When retrying to start a Keystore operation after receiving this exception, this can be used to determine how long to wait before retrying. |

| ### Inherited methods |
|-----------------------|---|
| From class` `[java.lang.Throwable](https://developer.android.com/reference/java/lang/Throwable)` ` |-----------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` final void`                                                                                 | ` `[addSuppressed](https://developer.android.com/reference/java/lang/Throwable#addSuppressed(java.lang.Throwable))`(`[Throwable](https://developer.android.com/reference/java/lang/Throwable)` exception) ` Appends the specified exception to the exceptions that were suppressed in order to deliver this exception.                                                                                                                                                                                                            | | ` `[Throwable](https://developer.android.com/reference/java/lang/Throwable)                   | ` `[fillInStackTrace](https://developer.android.com/reference/java/lang/Throwable#fillInStackTrace())`() ` Fills in the execution stack trace.                                                                                                                                                                                                                                                                                                                                                                                    | | ` `[Throwable](https://developer.android.com/reference/java/lang/Throwable)                   | ` `[getCause](https://developer.android.com/reference/java/lang/Throwable#getCause())`() ` Returns the cause of this throwable or`null`if the cause is nonexistent or unknown.                                                                                                                                                                                                                                                                                                                                                    | | ` `[String](https://developer.android.com/reference/java/lang/String)                         | ` `[getLocalizedMessage](https://developer.android.com/reference/java/lang/Throwable#getLocalizedMessage())`() ` Creates a localized description of this throwable.                                                                                                                                                                                                                                                                                                                                                               | | ` `[String](https://developer.android.com/reference/java/lang/String)                         | ` `[getMessage](https://developer.android.com/reference/java/lang/Throwable#getMessage())`() ` Returns the detail message string of this throwable.                                                                                                                                                                                                                                                                                                                                                                               | | ` `[StackTraceElement[]](https://developer.android.com/reference/java/lang/StackTraceElement) | ` `[getStackTrace](https://developer.android.com/reference/java/lang/Throwable#getStackTrace())`() ` Provides programmatic access to the stack trace information printed by[printStackTrace()](https://developer.android.com/reference/java/lang/Throwable#printStackTrace()).                                                                                                                                                                                                                                                    | | ` final `[Throwable[]](https://developer.android.com/reference/java/lang/Throwable)           | ` `[getSuppressed](https://developer.android.com/reference/java/lang/Throwable#getSuppressed())`() ` Returns an array containing all of the exceptions that were suppressed, typically by the`try`-with-resources statement, in order to deliver this exception.                                                                                                                                                                                                                                                                  | | ` `[Throwable](https://developer.android.com/reference/java/lang/Throwable)                   | ` `[initCause](https://developer.android.com/reference/java/lang/Throwable#initCause(java.lang.Throwable))`(`[Throwable](https://developer.android.com/reference/java/lang/Throwable)` cause) ` Initializes the*cause*of this throwable to the specified value.                                                                                                                                                                                                                                                                   | | ` void`                                                                                       | ` `[printStackTrace](https://developer.android.com/reference/java/lang/Throwable#printStackTrace())`() ` Prints this throwable and its backtrace to the standard error stream.                                                                                                                                                                                                                                                                                                                                                    | | ` void`                                                                                       | ` `[printStackTrace](https://developer.android.com/reference/java/lang/Throwable#printStackTrace(java.io.PrintWriter))`(`[PrintWriter](https://developer.android.com/reference/java/io/PrintWriter)` s) ` Prints this throwable and its backtrace to the specified print writer.                                                                                                                                                                                                                                                  | | ` void`                                                                                       | ` `[printStackTrace](https://developer.android.com/reference/java/lang/Throwable#printStackTrace(java.io.PrintStream))`(`[PrintStream](https://developer.android.com/reference/java/io/PrintStream)` s) ` Prints this throwable and its backtrace to the specified print stream.                                                                                                                                                                                                                                                  | | ` void`                                                                                       | ` `[setStackTrace](https://developer.android.com/reference/java/lang/Throwable#setStackTrace(java.lang.StackTraceElement[]))`(`[StackTraceElement[]](https://developer.android.com/reference/java/lang/StackTraceElement)` stackTrace) ` Sets the stack trace elements that will be returned by[getStackTrace()](https://developer.android.com/reference/java/lang/Throwable#getStackTrace())and printed by[printStackTrace()](https://developer.android.com/reference/java/lang/Throwable#printStackTrace())and related methods. | | ` `[String](https://developer.android.com/reference/java/lang/String)                         | ` `[toString](https://developer.android.com/reference/java/lang/Throwable#toString())`() ` Returns a short description of this throwable.                                                                                                                                                                                                                                                                                                                                                                                         | ||
| From class` `[java.lang.Object](https://developer.android.com/reference/java/lang/Object)` ` |--------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` `[Object](https://developer.android.com/reference/java/lang/Object)          | ` `[clone](https://developer.android.com/reference/java/lang/Object#clone())`() ` Creates and returns a copy of this object.                                                                                                                                                      | | ` boolean`                                                                     | ` `[equals](https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object))`(`[Object](https://developer.android.com/reference/java/lang/Object)` obj) ` Indicates whether some other object is "equal to" this one.                                           | | ` void`                                                                        | ` `[finalize](https://developer.android.com/reference/java/lang/Object#finalize())`() ` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.                                                          | | ` final `[Class](https://developer.android.com/reference/java/lang/Class)`<?>` | ` `[getClass](https://developer.android.com/reference/java/lang/Object#getClass())`() ` Returns the runtime class of this`Object`.                                                                                                                                                | | ` int`                                                                         | ` `[hashCode](https://developer.android.com/reference/java/lang/Object#hashCode())`() ` Returns a hash code value for the object.                                                                                                                                                 | | ` final void`                                                                  | ` `[notify](https://developer.android.com/reference/java/lang/Object#notify())`() ` Wakes up a single thread that is waiting on this object's monitor.                                                                                                                            | | ` final void`                                                                  | ` `[notifyAll](https://developer.android.com/reference/java/lang/Object#notifyAll())`() ` Wakes up all threads that are waiting on this object's monitor.                                                                                                                         | | ` `[String](https://developer.android.com/reference/java/lang/String)          | ` `[toString](https://developer.android.com/reference/java/lang/Object#toString())`() ` Returns a string representation of the object.                                                                                                                                            | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait(long,%20int))`(long timeoutMillis, int nanos) ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*, or until a certain amount of real time has elapsed. | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait(long))`(long timeoutMillis) ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*, or until a certain amount of real time has elapsed.                   | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait())`() ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*.                                                                                             | ||

## Public constructors

### BackendBusyException

Added in[API level 31](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public BackendBusyException (long backOffHintMillis)
```

Constructs a new`BackendBusyException`without detail message and cause.

<br />

|                                      Parameters                                       ||
|---------------------|------------------------------------------------------------------|
| `backOffHintMillis` | `long`: Value is a non-negative duration in milliseconds. <br /> |

### BackendBusyException

Added in[API level 31](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public BackendBusyException (long backOffHintMillis, 
                String message)
```

Constructs a new`BackendBusyException`with the provided detail message and no cause.

<br />

|                                      Parameters                                       ||
|---------------------|------------------------------------------------------------------|
| `backOffHintMillis` | `long`: Value is a non-negative duration in milliseconds. <br /> |
| `message`           | `String`: This value cannot be`null`. <br />                     |

### BackendBusyException

Added in[API level 31](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public BackendBusyException (long backOffHintMillis, 
                String message, 
                Throwable cause)
```

Constructs a new`BackendBusyException`with the provided detail message and cause.

<br />

|                                      Parameters                                       ||
|---------------------|------------------------------------------------------------------|
| `backOffHintMillis` | `long`: Value is a non-negative duration in milliseconds. <br /> |
| `message`           | `String`: This value cannot be`null`. <br />                     |
| `cause`             | `Throwable`: This value cannot be`null`. <br />                  |

## Public methods

### getBackOffHintMillis

Added in[API level 31](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public long getBackOffHintMillis ()
```

When retrying to start a Keystore operation after receiving this exception, this can be used to determine how long to wait before retrying. It is not guaranteed that the operation will succeeds after this time. Multiple retries may be necessary if the system is congested.  
Value is a non-negative duration in milliseconds.

<br />

|                                                       Returns                                                        ||
|--------|--------------------------------------------------------------------------------------------------------------|
| `long` | Number of milliseconds to back off before retrying. Value is a non-negative duration in milliseconds. <br /> |