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());
}