---
title: Manejo de errores
canonical: https://developer.unico.io/es/dual-api/developers/sdks-and-tools/flutter/error-handling
locale: es
generated_by: markdown-export
---

Todo el manejo de errores del SDK de Flutter está centralizado en esta sección. Los callbacks `onErrorUnico`, `onErrorSelfie` y `onErrorDocument` reciben un objeto `UnicoError` que expone `getCode()` y `getDescription()`.

## Error codes

| Código | Descripción |
|---|---|
| `73001` | Contexto inválido |
| `73002` | No se otorgó permiso para abrir la cámara |
| `73003` | El nivel mínimo de API es 21 (LOLLIPOP) |
| `73004` | No se encontró la implementación de la interfaz callback `iAcessoBioSelfie` |
| `73005` | No se encontró la implementación de la interfaz callback `iAcessoBioDocument` |
| `73006` | No se puede abrir la cámara en emuladores |
| `73100` | No se puede conectar a internet |
| `73200` | Por favor, informe el nombre del archivo JSON |
| `73202` | No se puede analizar el archivo JSON |
| `73300` | No se puede obtener el objeto de autenticación de Unico |
| `73301` | No se puede analizar el objeto |
| `73302` | No se encontró el token de Unico |
| `73303` | El host actual no está registrado |
| `73400` | No se pudo inicializar la cámara |
| `73500` | No se puede obtener el token de sesión — error en la respuesta del servicio |
| `73501` | No se puede analizar el objeto |
| `73502` | No se pudo obtener el token de sesión |
| `73701` | No se encontró la importación de liveness activo |
| `73702` | No se puede inicializar el liveness activo en modo de producción |
| `73703` | No se puede obtener la sesión de liveness activo |
| `73704` | El usuario presionó el botón de cancelar y no completó la sesión |
| `73705` | La sesión no se realizó correctamente y no se generó un FaceScan |
| `73706` | Acceso a la cámara denegado — el usuario denegó explícitamente el permiso o la política del dispositivo lo bloquea |
| `73707` | La sesión fue cancelada debido a que la app fue terminada, puesta en suspensión, por una notificación del SO o enviada a segundo plano |
| `73708` | La sesión fue cancelada porque el dispositivo está en modo horizontal |
| `73709` | La sesión fue cancelada porque el dispositivo está en modo retrato inverso |
| `73710` | La sesión fue cancelada porque el usuario no pudo completarla dentro del tiempo límite asignado |
| `73712` | La sesión fue cancelada por presión de memoria / la app sin producción requiere red |
| `73713` | La sesión fue cancelada porque su clave necesita ser validada nuevamente |
| `73714` | La sesión fue cancelada porque la clave de cifrado configurada por el desarrollador no era válida |
| `73715` | La sesión fue cancelada porque no todas las imágenes de guía estaban configuradas |
| `73716` | La sesión fue cancelada porque el SDK no pudo iniciar la cámara en este dispositivo |
| `73717` | La sesión fue cancelada porque el usuario se encontraba en estado bloqueado |
| `73718` | Error desconocido e inesperado durante el uso normal de las APIs nativas |
| `73719` | La sesión fue cancelada porque el usuario presionó el mensaje de subtexto de la pantalla de preparación |
| `73800` | No se pudo construir la clave cifrada |

:::secondary[Catálogo oficial de errores]
Los códigos anteriores reflejan el catálogo del SDK de Flutter. El catálogo oficial de códigos de error multiplataforma está disponible en [Referencia de API > Códigos de error](/dual-api/developers/api-reference/error-codes).
:::

## Handling the callback

```dart
@override
void onErrorUnico(UnicoError error) {
  final code = error.getCode();
  final description = error.getDescription();
  // handle error
}
```

## Lifecycle callbacks

Además de `onErrorUnico`, el SDK también dispara:

- `onUserClosedCameraManually()` — el usuario cerró la cámara manualmente.
- `onSystemClosedCameraTimeoutSession()` — la sesión expiró por tiempo de espera (predeterminado 40 s, mínimo 40 s).
- `onSystemChangedTypeCameraTimeoutFaceInference()` — la detección facial superó el umbral de 13 s; la captura cambia a modo manual.