> 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/selphid-documentos/eventos/exceptioncaptured.md).

# exceptionCaptured

## Detalhes

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

**Evento:** `exceptionCaptured`

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

### Sintaxe

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

### Objeto recebido

A carga útil é do tipo `SelphidExceptionCapturedDetail` 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 de erro 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.                             |
| `ExternalCameraChangeTimeout` | Timeout ao trocar a câmera externa.                    |

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

| Valor          | Descrição                                   |
| -------------- | ------------------------------------------- |
| `ErrorTimeout` | O limite de tempo de extração foi excedido. |

**Valores `code`**:

| `exceptionType`              | Código    |
| ---------------------------- | --------- |
| `AndroidWebViewBehaviour`    | `SPD_318` |
| `UnknownInternalError`       | `SPD_329` |
| `CameraHardwareError`        | `SPD_305` |
| `PermissionsDenied`          | `SPD_332` |
| `CameraPermissionDenied`     | `SPD_301` |
| `MicrophonePermissionDenied` | `SPD_319` |
| `SettingsError`              | `SPD_320` |
| `BrowserApiNotCompatible`    | `SPD_321` |
| `ErrorTimeout`               | `SPD_001` |

## Descrição

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

### Considerações

A carga útil está em `event.detail.detail` (ver [formato de eventos](/docs.facephi-pt-br/sdks/sdk-web/componentes/selphid-documentos/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/selphid-documentos/propiedades/errortimer.md).

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

***

## Exemplo

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

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

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