Added in API level 1

RemoteException

public class RemoteException
extends AndroidException

java.lang.Object
   ↳ java.lang.Throwable
     ↳ java.lang.Exception
       ↳ android.util.AndroidException
         ↳ android.os.RemoteException


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 DeadObjectException.

Summary

Public constructors

RemoteException()
RemoteException(String message)

Public methods

RuntimeException rethrowAsRuntimeException()

Rethrow this as an unchecked runtime exception.

RuntimeException rethrowFromSystemServer()

Rethrow this exception when we know it came from the system server.

Inherited methods

Public constructors

RemoteException

Added in API level 1
public RemoteException ()

RemoteException

Added in API level 1
public RemoteException (String message)

Parameters
message String

Public methods

rethrowAsRuntimeException

Added in API level 30
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.

Returns
RuntimeException This value cannot be null.

Throws
java.lang.RuntimeException

rethrowFromSystemServer

Added in API level 30
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.

Returns
RuntimeException This value cannot be null.

Throws
java.lang.RuntimeException