Skip to main content

Manejo de errores

@markpdf/nextjs reutiliza excepciones de @markpdf/sdk (MarkpdfAuthError, MarkpdfRateLimitError, etc.), todos los hijos de MarkpdfError. La forma de manejarlos depende de si se encuentra en un controlador de ruta o en una acción del servidor.

En un controlador de ruta

createConvertRouteHandler ya traduce cualquier MarkpdfError en una respuesta HTTP con el mismo código de estado y un cuerpo { error: string }:
Si crea su propio controlador de ruta con getServerClient, captúrelo usted mismo:
app/api/convert/route.ts
No propague 401/403 desde API al usuario final tal cual; esos errores significan que su propia clave API está mal configurada, no que el usuario haya hecho algo mal. Devuelve un 500 genérico y registra el detalle en los registros de tu servidor.

En una acción del servidor

Las excepciones lanzadas dentro de una Acción del Servidor llegan al cliente como un rechazo de promesa serializado. Captúrelos explícitamente si desea mostrar un mensaje específico en la interfaz de usuario en lugar de la pantalla de error genérica de Next.js:
app/actions.ts
Devolver un objeto { ok, error } en lugar de permitir que la excepción se propague es el patrón recomendado por Next.js para las acciones del servidor: le brinda control total sobre el mensaje que ve el usuario, sin exponer los detalles internos de API.

Reintentos

getServerClient acepta las mismas opciones de reintento que MarkpdfClient:
Consulte Node.js SDK Manejo de errores para obtener detalles sobre qué códigos se reintentan.