Added in [API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Constants](https://developer.android.com/reference/android/telecom/CallException#constants) \| [Inherited Constants](https://developer.android.com/reference/android/telecom/CallException#inhconstants) \| [Fields](https://developer.android.com/reference/android/telecom/CallException#lfields) \| [Ctors](https://developer.android.com/reference/android/telecom/CallException#pubctors) \| [Methods](https://developer.android.com/reference/android/telecom/CallException#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/telecom/CallException#inhmethods)

# CallException

*** ** * ** ***


`
public

final

class
CallException
`


`


`

`


`

`


`

`

extends https://developer.android.com/reference/java/lang/RuntimeException


`

`


implements

https://developer.android.com/reference/android/os/Parcelable


`

|---|---|---|---|---|
| [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) ||
|   |   |   | ↳ | android.telecom.CallException |

<br />

*** ** * ** ***

This class defines exceptions that can be thrown when using Telecom APIs with
`https://developer.android.com/reference/android/os/OutcomeReceiver`s. Most of these exceptions are thrown when changing a call
state with `https://developer.android.com/reference/android/telecom/CallControl`s or `https://developer.android.com/reference/android/telecom/CallControlCallback`s.

## Summary

| ### Constants ||
|---|---|
| `int` | `https://developer.android.com/reference/android/telecom/CallException#CODE_CALL_CANNOT_BE_SET_TO_ACTIVE` The operation has failed because Telecom cannot set the requested call as the current active call. |
| `int` | `https://developer.android.com/reference/android/telecom/CallException#CODE_CALL_IS_NOT_BEING_TRACKED` The operation has failed because Telecom has already removed the call from the server side and destroyed all the objects associated with it. |
| `int` | `https://developer.android.com/reference/android/telecom/CallException#CODE_CALL_NOT_PERMITTED_AT_PRESENT_TIME` The operation has failed because there is either no PhoneAccount registered with Telecom for the given operation, or the limit of calls has been reached. |
| `int` | `https://developer.android.com/reference/android/telecom/CallException#CODE_CANNOT_HOLD_CURRENT_ACTIVE_CALL` The operation has failed due to Telecom failing to hold the current active call for the call attempting to become the new active call. |
| `int` | `https://developer.android.com/reference/android/telecom/CallException#CODE_ERROR_UNKNOWN` The operation has failed due to an unknown or unspecified error. |
| `int` | `https://developer.android.com/reference/android/telecom/CallException#CODE_OPERATION_TIMED_OUT` The operation has failed because the operation failed to complete before the timeout |

| ### Inherited constants |
|---|
| From interface `https://developer.android.com/reference/android/os/Parcelable` |---|---| | `int` | `https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR` Descriptor bit used with `https://developer.android.com/reference/android/os/Parcelable#describeContents()`: indicates that the Parcelable object's flattened representation includes a file descriptor. | | `int` | `https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE` Flag for use with `https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)`: the object being written is a return value, that is the result of a function such as "`Parcelable someFunction()`", "`void someFunction(out Parcelable)`", or "`void someFunction(inout Parcelable)`". | |

| ### Fields ||
|---|---|
| ` public static final https://developer.android.com/reference/android/os/Parcelable.Creator<https://developer.android.com/reference/android/telecom/CallException>` | `https://developer.android.com/reference/android/telecom/CallException#CREATOR` Responsible for creating CallAttribute objects for deserialized Parcels. |

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/android/telecom/CallException#CallException(java.lang.String,%20int)(https://developer.android.com/reference/java/lang/String message, int code) ` Constructor for a new CallException that has a defined error code in this class |

| ### Public methods ||
|---|---|
| ` int` | ` https://developer.android.com/reference/android/telecom/CallException#describeContents()() ` Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. |
| ` int` | ` https://developer.android.com/reference/android/telecom/CallException#getCode()() ` |
| ` void` | ` https://developer.android.com/reference/android/telecom/CallException#writeToParcel(android.os.Parcel,%20int)(https://developer.android.com/reference/android/os/Parcel dest, int flags) ` Flatten this object in to a Parcel. |

| ### 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*. | ||
| From interface ` https://developer.android.com/reference/android/os/Parcelable ` |---|---| | ` abstract int` | ` https://developer.android.com/reference/android/os/Parcelable#describeContents()() ` Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. | | ` abstract void` | ` https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)(https://developer.android.com/reference/android/os/Parcel dest, int flags) ` Flatten this object in to a Parcel. | ||

## Constants

### CODE_CALL_CANNOT_BE_SET_TO_ACTIVE

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

```
public static final int CODE_CALL_CANNOT_BE_SET_TO_ACTIVE
```

The operation has failed because Telecom cannot set the requested call as the current active
call. The client should end the current active call and re-try the operation.

<br />

Constant Value:

4
(0x00000004)


### CODE_CALL_IS_NOT_BEING_TRACKED

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

```
public static final int CODE_CALL_IS_NOT_BEING_TRACKED
```

The operation has failed because Telecom has already removed the call from the server side
and destroyed all the objects associated with it. The client should re-add the call.

<br />

Constant Value:

3
(0x00000003)


### CODE_CALL_NOT_PERMITTED_AT_PRESENT_TIME

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

```
public static final int CODE_CALL_NOT_PERMITTED_AT_PRESENT_TIME
```

The operation has failed because there is either no PhoneAccount registered with Telecom
for the given operation, or the limit of calls has been reached. The client should end the
current active call and re-try the failed operation.

<br />

Constant Value:

5
(0x00000005)


### CODE_CANNOT_HOLD_CURRENT_ACTIVE_CALL

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

```
public static final int CODE_CANNOT_HOLD_CURRENT_ACTIVE_CALL
```

The operation has failed due to Telecom failing to hold the current active call for the
call attempting to become the new active call. The client should end the current active call
and re-try the failed operation.

<br />

Constant Value:

2
(0x00000002)


### CODE_ERROR_UNKNOWN

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

```
public static final int CODE_ERROR_UNKNOWN
```

The operation has failed due to an unknown or unspecified error.

<br />

Constant Value:

1
(0x00000001)


### CODE_OPERATION_TIMED_OUT

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

```
public static final int CODE_OPERATION_TIMED_OUT
```

The operation has failed because the operation failed to complete before the timeout

<br />

Constant Value:

6
(0x00000006)


## Fields

### CREATOR

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

```
public static final Creator<CallException> CREATOR
```

Responsible for creating CallAttribute objects for deserialized Parcels.

<br />

## Public constructors

### CallException

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

```
public CallException (String message, 
                int code)
```

Constructor for a new CallException that has a defined error code in this class

<br />

| Parameters ||
|---|---|
| `message` | `String`: related to why the exception was created. This value may be `null`. <br /> |
| `code` | `int`: defined above that caused this exception to be created. Value is one of the following: - `https://developer.android.com/reference/android/telecom/CallException#CODE_ERROR_UNKNOWN` - `https://developer.android.com/reference/android/telecom/CallException#CODE_CANNOT_HOLD_CURRENT_ACTIVE_CALL` - `https://developer.android.com/reference/android/telecom/CallException#CODE_CALL_IS_NOT_BEING_TRACKED` - `https://developer.android.com/reference/android/telecom/CallException#CODE_CALL_CANNOT_BE_SET_TO_ACTIVE` - `https://developer.android.com/reference/android/telecom/CallException#CODE_CALL_NOT_PERMITTED_AT_PRESENT_TIME` - `https://developer.android.com/reference/android/telecom/CallException#CODE_OPERATION_TIMED_OUT` |

## Public methods

### describeContents

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

```
public int describeContents ()
```

Describe the kinds of special objects contained in this Parcelable
instance's marshaled representation. For example, if the object will
include a file descriptor in the output of `https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)`,
the return value of this method must include the
`https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR` bit.

<br />

| Returns ||
|---|---|
| `int` | a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either `0` or - `https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR` |

### getCode

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

```
public int getCode ()
```

<br />

<br />

| Returns ||
|---|---|
| `int` | one of the error codes defined in this class that was passed into the constructor. Value is one of the following: - `https://developer.android.com/reference/android/telecom/CallException#CODE_ERROR_UNKNOWN` - `https://developer.android.com/reference/android/telecom/CallException#CODE_CANNOT_HOLD_CURRENT_ACTIVE_CALL` - `https://developer.android.com/reference/android/telecom/CallException#CODE_CALL_IS_NOT_BEING_TRACKED` - `https://developer.android.com/reference/android/telecom/CallException#CODE_CALL_CANNOT_BE_SET_TO_ACTIVE` - `https://developer.android.com/reference/android/telecom/CallException#CODE_CALL_NOT_PERMITTED_AT_PRESENT_TIME` - `https://developer.android.com/reference/android/telecom/CallException#CODE_OPERATION_TIMED_OUT` |

### writeToParcel

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

```
public void writeToParcel (Parcel dest, 
                int flags)
```

Flatten this object in to a Parcel.

<br />

| Parameters ||
|---|---|
| `dest` | `Parcel`: This value cannot be `null`. <br /> |
| `flags` | `int`: Additional flags about how the object should be written. May be 0 or `https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE`. Value is either `0` or a combination of the following: - `https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE` |