> 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-pt-br/sdks/sdk-web/componentes/selphi-biometria-facial/eventos/exceptioncaptured.md).

# exceptionCaptured

## Detalhes

É emitido diante de erros ou situações inesperadas durante a captura.

**Evento:** `exceptionCaptured`

**Tipo:** `FacephiSelphiWidgetCustomEvent<ExceptionCapturedEvent>` | `CustomEvent<ExceptionCapturedEvent>`

### Sintaxe

```typescript
selphi.addEventListener('exceptionCaptured', onExceptionCaptured);
```

### Objeto recebido

A carga útil é do tipo `SelphiExceptionCapturedDetail` e está em `event.detail.detail`:

* `eventType` (`string`): Tipo de evento emitido.
* `exceptionType` (`string`): Tipo de exceção (`ExceptionType`).
* `message` (`string`): Descrição breve do erro.
* `code` (`string`): Código SPI associado a `exceptionType`.

**Valores `exceptionType` — terminais**:

| Valor                        | Descrição                                              |
| ---------------------------- | ------------------------------------------------------ |
| `AndroidWebViewBehaviour`    | O widget não pode ser executado no WebView do Android. |
| `BrowserApiNotCompatible`    | O navegador não é compatível.                          |
| `CameraHardwareError`        | Erro ao acessar a câmera.                              |
| `PermissionsDenied`          | Permissões necessárias não concedidas.                 |
| `CameraPermissionDenied`     | Permissão de câmera negada.                            |
| `MicrophonePermissionDenied` | Permissão de microfone negada.                         |
| `SettingsError`              | Propriedade de configuração com formato incorreto.     |
| `UnknownInternalError`       | Erro interno desconhecido.                             |
| `SpoofingDetected`           | Tentativa de falsificação detectada (antispoof).       |
| `ActiveLivenessError`        | O teste de vida ativo falhou.                          |

**Valores `exceptionType` — extração**:

| Valor                         | Descrição                                   |
| ----------------------------- | ------------------------------------------- |
| `ErrorTimeout`                | O limite de tempo de extração foi excedido. |
| `FaceNotFound`                | O rosto não foi encontrado.                 |
| `EyesNotFound`                | Os olhos não foram encontrados.             |
| `AngleExceeded`               | O rosto não está reto.                      |
| `DarkLightError`              | Luz insuficiente.                           |
| `TooManyFaces`                | Mais de um rosto detectado.                 |
| `OccludedEyes`                | Olhos ocluídos.                             |
| `OccludedMouth`               | Boca ocluída.                               |
| `ExternalCameraChangeTimeout` | Timeout ao trocar a câmera externa.         |

**Valores `code`**:

| `exceptionType`              | Código    |
| ---------------------------- | --------- |
| `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` |

## Descrição

Permite filtrar e reagir aos diferentes tipos de erro durante a captura.

### Considerações

A carga útil está em `event.detail.detail` (ver [formato de eventos](/docs.facephi-pt-br/sdks/sdk-web/componentes/selphi-biometria-facial/eventos.md#formato-de-los-eventos)). As exceções terminais exibem uma tela de erro e fecham o widget após [errorTimer](/docs.facephi-pt-br/sdks/sdk-web/componentes/selphi-biometria-facial/propiedades/errortimer.md).

Os códigos SPI estão alinhados com a tabela de [resultados](/docs.facephi-pt-br/sdks/sdk-web/componentes/selphi-biometria-facial/resultados.md#codigos-de-error). Para `ExternalCameraChangeTimeout`, consulte o valor emitido em `code`.

***

## Exemplo

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

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

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