validate() lanza errores tipados ante fallos HTTP o de red (un recurso inválido no lanza: se devuelve en result.errors). Todos extienden FhironError, así que puedes capturar cualquier fallo del SDK con un solo instanceof y luego distinguir el caso.
Jerarquía
Todas exponen
.status (cuando hay respuesta HTTP) y .body (el cuerpo crudo del error).
Patrón de reintento
Los errores marcados como reintentables (FhironServerError, FhironTimeoutError, FhironNetworkError) admiten un backoff simple:
FhironAuthError, FhironRequestError ni FhironQuotaError: el resultado no cambiará sin corregir la key, el recurso o el plan.
Recurso inválido no es un error
Importante: que un recurso no cumpla CL Core no lanza una excepción. La llamada resuelve conresult.ok === false y los hallazgos en result.errors. Las excepciones son solo para fallos de transporte o autorización.