# KheelonaVoiceError

Source: https://docs.voice.kheelona.com/reference/sdk/classes/kheelonavoiceerror/

Every failure `KheelonaVoice.connect` rejects with. After a failed `connect()`, create a new session (a new client
secret) before trying again.

## Extends

- `Error`

## Constructors

### Constructor

> **new KheelonaVoiceError**(`code`, `message`, `options?`): `KheelonaVoiceError`

#### Parameters

##### code

`"invalid_request"` \| `"invalid_audio"` \| `"unauthenticated"` \| `"secret_expired"` \| `"forbidden"` \| `"origin_not_allowed"` \| `"voice_not_found"` \| `"session_not_found"` \| `"capacity_exhausted"` \| `"partner_limit_reached"` \| `"rate_limited"` \| `"provider_unavailable"` \| `"internal"` \| `"not_found"` \| `"conflict"` \| `"unavailable"` \| [`SdkErrorCode`](https://docs.voice.kheelona.com/reference/sdk/type-aliases/sdkerrorcode.md)

The error code.

##### message

`string`

A readable description. Log it freely.

##### options?

`cause` keeps the browser's own error as `Error.cause`: don't log it verbatim, its text can quote
connection details.

###### cause?

`unknown`

###### retryable?

`boolean`

###### retryAfterMs?

`number`

#### Returns

`KheelonaVoiceError`

#### Overrides

`Error.constructor`

## Properties

### code

> **code**: `"invalid_request"` \| `"invalid_audio"` \| `"unauthenticated"` \| `"secret_expired"` \| `"forbidden"` \| `"origin_not_allowed"` \| `"voice_not_found"` \| `"session_not_found"` \| `"capacity_exhausted"` \| `"partner_limit_reached"` \| `"rate_limited"` \| `"provider_unavailable"` \| `"internal"` \| `"not_found"` \| `"conflict"` \| `"unavailable"` \| [`SdkErrorCode`](https://docs.voice.kheelona.com/reference/sdk/type-aliases/sdkerrorcode.md)

What went wrong. Branch on this, not on `message`.

***

### name

> **name**: `string` = `'KheelonaVoiceError'`

#### Overrides

`Error.name`

***

### retryable

> **retryable**: `boolean`

Retrying the same call later can succeed.

***

### retryAfterMs?

> `optional` **retryAfterMs?**: `number`

How long to wait before retrying, in milliseconds, when the service said so.
