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

# RemoteException

*** ** * ** ***


`
public


class
RemoteException
`


`


`

`


`

`


`

`

extends https://developer.android.com/reference/android/util/AndroidException


`

`


`

|---|---|---|---|---|
| [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) |||
|   |   | ↳ | [android.util.AndroidException](https://developer.android.com/reference/android/util/AndroidException) ||
|   |   |   | ↳ | android.os.RemoteException |

|---|
| Known direct subclasses [DeadObjectException](https://developer.android.com/reference/android/os/DeadObjectException), [TransactionTooLargeException](https://developer.android.com/reference/android/os/TransactionTooLargeException) |---|---| | [DeadObjectException](https://developer.android.com/reference/android/os/DeadObjectException) | The object you are calling has died, because its hosting process no longer exists, or there has been a low-level binder error. | | [TransactionTooLargeException](https://developer.android.com/reference/android/os/TransactionTooLargeException) | The Binder transaction failed because it was too large. | |

|---|
| Known indirect subclasses [DeadSystemException](https://developer.android.com/reference/android/os/DeadSystemException) |---|---| | [DeadSystemException](https://developer.android.com/reference/android/os/DeadSystemException) | The core Android system has died and is going through a runtime restart. | |

<br />

*** ** * ** ***

Parent exception for all Binder remote-invocation errors

Note: not all exceptions from binder services will be subclasses of this.
For instance, RuntimeException and several subclasses of it may be
thrown as well as OutOfMemoryException.

One common subclass is `https://developer.android.com/reference/android/os/DeadObjectException`.

## Summary

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/android/os/RemoteException#RemoteException()() ` |
| ` https://developer.android.com/reference/android/os/RemoteException#RemoteException(java.lang.String)(https://developer.android.com/reference/java/lang/String message) ` |

| ### Public methods ||
|---|---|
| ` https://developer.android.com/reference/java/lang/RuntimeException` | ` https://developer.android.com/reference/android/os/RemoteException#rethrowAsRuntimeException()() ` Rethrow this as an unchecked runtime exception. |
| ` https://developer.android.com/reference/java/lang/RuntimeException` | ` https://developer.android.com/reference/android/os/RemoteException#rethrowFromSystemServer()() ` Rethrow this exception when we know it came from the system server. |

| ### Inherited methods |
|---|---|
| From class ` https://developer.android.com/reference/java/lang/Throwable ` |---|---| | ` final void` | ` https://developer.android.com/reference/java/lang/Throwable#addSuppressed(java.lang.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. | | ` https://developer.android.com/reference/java/lang/Throwable` | ` https://developer.android.com/reference/java/lang/Throwable#fillInStackTrace()() ` Fills in the execution stack trace. | | ` https://developer.android.com/reference/java/lang/Throwable` | ` https://developer.android.com/reference/java/lang/Throwable#getCause()() ` Returns the cause of this throwable or `null` if the cause is nonexistent or unknown. | | ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/java/lang/Throwable#getLocalizedMessage()() ` Creates a localized description of this throwable. | | ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/java/lang/Throwable#getMessage()() ` Returns the detail message string of this throwable. | | ` https://developer.android.com/reference/java/lang/StackTraceElement` | ` https://developer.android.com/reference/java/lang/Throwable#getStackTrace()() ` Provides programmatic access to the stack trace information printed by `https://developer.android.com/reference/java/lang/Throwable#printStackTrace()`. | | ` final https://developer.android.com/reference/java/lang/Throwable` | ` 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. | | ` https://developer.android.com/reference/java/lang/Throwable` | ` https://developer.android.com/reference/java/lang/Throwable#initCause(java.lang.Throwable)(https://developer.android.com/reference/java/lang/Throwable cause) ` Initializes the *cause* of this throwable to the specified value. | | ` void` | ` https://developer.android.com/reference/java/lang/Throwable#printStackTrace()() ` Prints this throwable and its backtrace to the standard error stream. | | ` void` | ` https://developer.android.com/reference/java/lang/Throwable#printStackTrace(java.io.PrintWriter)(https://developer.android.com/reference/java/io/PrintWriter s) ` Prints this throwable and its backtrace to the specified print writer. | | ` void` | ` https://developer.android.com/reference/java/lang/Throwable#printStackTrace(java.io.PrintStream)(https://developer.android.com/reference/java/io/PrintStream s) ` Prints this throwable and its backtrace to the specified print stream. | | ` void` | ` https://developer.android.com/reference/java/lang/Throwable#setStackTrace(java.lang.StackTraceElement[])(https://developer.android.com/reference/java/lang/StackTraceElement stackTrace) ` Sets the stack trace elements that will be returned by `https://developer.android.com/reference/java/lang/Throwable#getStackTrace()` and printed by `https://developer.android.com/reference/java/lang/Throwable#printStackTrace()` and related methods. | | ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/java/lang/Throwable#toString()() ` Returns a short description of this throwable. | ||
| From class ` https://developer.android.com/reference/java/lang/Object ` |---|---| | ` https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/lang/Object#clone()() ` Creates and returns a copy of this object. | | ` boolean` | ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) ` Indicates whether some other object is "equal to" this one. | | ` void` | ` 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 https://developer.android.com/reference/java/lang/Class<?>` | ` https://developer.android.com/reference/java/lang/Object#getClass()() ` Returns the runtime class of this `Object`. | | ` int` | ` https://developer.android.com/reference/java/lang/Object#hashCode()() ` Returns a hash code value for the object. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notify()() ` Wakes up a single thread that is waiting on this object's monitor. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notifyAll()() ` Wakes up all threads that are waiting on this object's monitor. | | ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/java/lang/Object#toString()() ` Returns a string representation of the object. | | ` final void` | ` 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` | ` 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` | ` 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

### RemoteException

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

```
public RemoteException ()
```

<br />

<br />

### RemoteException

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

```
public RemoteException (String message)
```

<br />

<br />

| Parameters ||
|---|---|
| `message` | `String` <br /> |

## Public methods

### rethrowAsRuntimeException

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

```
public RuntimeException rethrowAsRuntimeException ()
```

Rethrow this as an unchecked runtime exception.


Apps making calls into other processes may end up persisting internal
state or making security decisions based on the perceived success or
failure of a call, or any default values returned. For this reason, we
want to strongly throw when there was trouble with the transaction.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/RuntimeException` | This value cannot be `null`. <br /> |

| Throws ||
|---|---|
|   | java.lang.RuntimeException |

### rethrowFromSystemServer

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

```
public RuntimeException rethrowFromSystemServer ()
```

Rethrow this exception when we know it came from the system server. This
gives us an opportunity to throw a nice clean
`DeadSystemRuntimeException` signal to avoid spamming logs with
misleading stack traces.


Apps making calls into the system server may end up persisting internal
state or making security decisions based on the perceived success or
failure of a call, or any default values returned. For this reason, we
want to strongly throw when there was trouble with the transaction.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/RuntimeException` | This value cannot be `null`. <br /> |

| Throws ||
|---|---|
|   | java.lang.RuntimeException |