Manejo de errores
markpdf-cpp no genera excepciones para errores API; utiliza markpdf::Result<T, MarkpdfError> (consulte Referencia). Solo lanza std::runtime_error en errores de configuración (por ejemplo, falta la clave API al crear el cliente).
MarkpdfError
Tabla de errores
Maneja cada caso con switch
Reintentos automáticos
429 y 5xx: reintentos con backoff exponencial y jitter, respetando Retry-After si el servidor lo envía.
4xx diferente de 429: no reintentado.
- Errores de conexión (
Connection): reintento igual que 5xx.
Desactivar reintentos:
Trabajo falvaválido
JobFailed significa que el trabajo ya agotó los reintentos del servidor interno. Volver a intentarlo desde el cliente es razonable, pero hágalo con su propio retroceso.