> For the complete documentation index, see [llms.txt](https://docs.facephi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.facephi.com/docs.facephi-en/sdks/sdk-web/componentes/selphi-biometria-facial/eventos/errortimeout.md).

# errorTimeout

## Details

It is emitted when it exceeds [errorTimer](/docs.facephi-en/sdks/sdk-web/componentes/selphi-biometria-facial/propiedades/errortimer.md) after a previous extraction error.

**Event:** `errorTimeout`

**Type:** `FacephiSelphiWidgetCustomEvent<ErrorTimeoutEvent>` | `CustomEvent<ErrorTimeoutEvent>`

### Syntax

```typescript
selphi.addEventListener('errorTimeout', onErrorTimeout);
```

### Received object

The useful payload is of type `SelphiErrorTimeoutDetail` and is in `event.detail.detail`:

* `eventType` (`string`): Type of event emitted.
* `exceptionType` (`string`): Type of exception that caused the timeout.
* `message` (`string`): Brief description of the error.
* `advancedTracking` (`Uint8Array`): Encoded advanced Tracking (optional).
* `livenessMoveResult` (`string`): Tokenized Active Liveness results (optional).

**Values `exceptionType`**:

| Value                        | Code      |
| ---------------------------- | --------- |
| `AndroidWebViewBehaviour`    | `SPI_227` |
| `UnknownInternalError`       | `SPI_235` |
| `CameraHardwareError`        | `SPI_204` |
| `PermissionsDenied`          | `SPI_242` |
| `CameraPermissionDenied`     | `SPI_201` |
| `MicrophonePermissionDenied` | `SPI_218` |
| `SettingsError`              | `SPI_219` |
| `BrowserApiNotCompatible`    | `SPI_220` |
| `SpoofingDetected`           | `SPI_221` |
| `ActiveLivenessError`        | `SPI_205` |
| `ErrorTimeout`               | `SPI_001` |
| `FaceNotFound`               | `SPI_222` |
| `EyesNotFound`               | `SPI_223` |
| `OccludedEyes`               | `SPI_237` |
| `OccludedMouth`              | `SPI_238` |
| `DarkLightError`             | `SPI_224` |
| `AngleExceeded`              | `SPI_225` |
| `TooManyFaces`               | `SPI_226` |

## Description

Marks the end of the timeout after a terminal exception. The widget closes and you can implement the recovery logic.

### Considerations

The useful payload is in `event.detail.detail` (see [event format](/docs.facephi-en/sdks/sdk-web/componentes/selphi-biometria-facial/eventos.md#formato-de-los-eventos)). The SPI codes match the table of [results](/docs.facephi-en/sdks/sdk-web/componentes/selphi-biometria-facial/resultados.md#codigos-de-error).

If [interactive](/docs.facephi-en/sdks/sdk-web/componentes/selphi-biometria-facial/propiedades/interactible.md) is `false`, this event is also emitted after the remaining exceptions.

***

## Example

```jsx
<facephi-selphi-widget
    onErrorTimeout={(event) => {
      const { exceptionType, message } = event.detail.detail;
      console.error('Error timeout:', exceptionType, message);
    }}
/>
```

```typescript
import { type SelphiErrorTimeoutDetail } from '@facephi/sdk-web-wc';

selphi.addEventListener('errorTimeout', (event) => {
  const detail: SelphiErrorTimeoutDetail = event.detail.detail;
});
```
