Excepciones
El SDK de Shori usa una jerarquía de excepciones tipadas para que puedas capturar errores de forma específica o genérica según tu caso de uso.
Jerarquía
Descripción
| Excepción | Cuándo se lanza |
|---|---|
ShoriException | Base de todas las excepciones del SDK. Captura cualquier error genérico. |
ApiException | La API respondió con un error HTTP (400, 403, 409, 500, etc.) |
AuthenticationException | Credenciales inválidas o token no renovable |
ResourceNotFoundException | El recurso solicitado no existe (HTTP 404) |
ValidationException | Parámetros inválidos configurados en el SDK (antes del request) |
Patrón de manejo recomendado
try {
CasoResponse caso = client.caso().findById("documentId");
} catch (ResourceNotFoundException e) {
// 404 - El caso no existe
log.warn("Caso no encontrado: {}", e.getMessage());
} catch (AuthenticationException e) {
// Credenciales inválidas o token no renovable
log.error("Error de autenticación: {}", e.getMessage());
} catch (ApiException e) {
// 400, 500, etc. — error del servidor
log.error("Error HTTP {}: {}", e.getStatusCode(), e.getMessage());
} catch (ValidationException e) {
// Parámetro inválido en el SDK (ej: portalId vacío)
log.error("Configuración inválida: {}", e.getMessage());
} catch (ShoriException e) {
// Cualquier otro error del SDK
log.error("Error del SDK: {}", e.getMessage());
}
Captura genérica
Si solo quieres saber si algo falló sin distinguir el tipo de error, basta con capturar ShoriException:
} catch (ShoriException e) {
log.error("Error: {}", e.getMessage());
}