Saltar al contenido principal

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ónCuándo se lanza
ShoriExceptionBase de todas las excepciones del SDK. Captura cualquier error genérico.
ApiExceptionLa API respondió con un error HTTP (400, 403, 409, 500, etc.)
AuthenticationExceptionCredenciales inválidas o token no renovable
ResourceNotFoundExceptionEl recurso solicitado no existe (HTTP 404)
ValidationExceptionPará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());
}